From: Camm Maguire Date: Wed, 25 Feb 2026 13:23:26 +0000 (-0500) Subject: Import gcl27_2.7.1-12.debian.tar.xz X-Git-Tag: archive/raspbian/2.7.1-12+rpi1^2~11^2 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:///%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:/?a=commitdiff_plain;h=0c115a019acc2b5a6bb592302bbd359a71bace82;p=gcl27.git Import gcl27_2.7.1-12.debian.tar.xz [dgit import tarball gcl27 2.7.1-12 gcl27_2.7.1-12.debian.tar.xz] --- 0c115a019acc2b5a6bb592302bbd359a71bace82 diff --git a/README.Debian b/README.Debian new file mode 100644 index 0000000..8174975 --- /dev/null +++ b/README.Debian @@ -0,0 +1,28 @@ +The Debian package gcl +---------------------- + +GCL is one of the oldest free common lisp systems still in use. Several +production systems have used it for over a decade. The common lisp +standard in effect when GCL was first released is known as "Common Lisp, +the Language" (CLtL1) after a book by Steele of the same name providing +this specification. Subsequently, a much expanded standard was adopted by +the American National Standards Institute (ANSI), which is still +considered the definitive common lisp language specification to this day. + +Debian GCL now installs both the small 'traditional' lisp image +designed to conform to a pre-ANSI Lisp standard, and an experimental +ANSI image. Please note that ANSI support in GCL is still +preliminary. On an ansi-test suite written by a GCL developer, GCL +fails on a little under 3 percent of the tests. Details can be found +in /usr/share/doc/gcl/test_results.gz. + +To toggle the use of the ANSI image, set the environment variable +GCL_ANSI to any non-empty string. + +New in 2.6.2 +------------ + +Please see the RELEASE-2.6.2.html file for release note information, +regression testing, and sample benchmarks. + + -- Camm Maguire , Wed Dec 14 18:55:19 2005 diff --git a/changelog b/changelog new file mode 100644 index 0000000..b136e95 --- /dev/null +++ b/changelog @@ -0,0 +1,4579 @@ +gcl27 (2.7.1-12) unstable; urgency=medium + + * Version_2_7_2pre11 + * Bug fix: "FTBFS with glibc 2.43 due to ISO C23 const return types", + thanks to Aurelien Jarno (Closes: #1128546). + * Bug fix: "Update/add debconf template translation [INTL:ca]", thanks + to Carles Pina i Estany (Closes: #1118704). + * Bug fix: "[INTL:sv] Swedish strings for gcl27 debconf", thanks to + Martin Bagge / brother (Closes: #1122744). + * Bug fix: "[INTL:es] Spanish translation of gcl27 debconf template", + thanks to Camaleón (Closes: #1108096). + * Bug fix: "FTBFS: SIMPLE-ERROR: SAVE-EXEC is unable to save to file + "saved_acl2.c", because its directory does not exist.", + thanks to Santiago Vila (Closes: #1128663). + + -- Camm Maguire Wed, 25 Feb 2026 08:23:26 -0500 + +gcl27 (2.7.1-11) unstable; urgency=medium + + * Version_2_7_2pre10 + + -- Camm Maguire Sun, 22 Feb 2026 11:52:14 -0500c + +gcl27 (2.7.1-10) unstable; urgency=medium + + * Version_2_7_2pre9 + + -- Camm Maguire Thu, 19 Feb 2026 17:21:25 -0500 + +gcl27 (2.7.1-9) unstable; urgency=medium + + * Version_2_7_2pre8 + + -- Camm Maguire Thu, 19 Feb 2026 16:06:23 -0500 + +gcl27 (2.7.1-8) unstable; urgency=medium + + * Bug fix: "FTBFS: /tmp/gazonk_6005_0.c:21:63: error: implicit + declaration of function '__builtin_c23_va_start'; did you mean + '__builtin_ms_va_start'? [-Wimplicit-function-declaration]", + thanks to Santiago Vila (Closes: #1114119). + * Version_2_7_2pre7 + + -- Camm Maguire Sun, 21 Sep 2025 14:06:45 -0400 + +gcl27 (2.7.1-7) unstable; urgency=medium + + * Version_2_7_2pre6 + * Bug fix: "[INTL:nl] Dutch debconf templates translation", thanks to Frans Spiesschaert (Closes: #1106482). + + -- Camm Maguire Thu, 29 May 2025 19:11:18 -0400 + +gcl27 (2.7.1-6) unstable; urgency=medium + + * Version_2_7_2pre5 + + -- Camm Maguire Wed, 14 May 2025 02:58:40 -0400 + +gcl27 (2.7.1-5) unstable; urgency=medium + + * Version_2_7_2pre4 + * Bug fix: "[INTL:pt] Portuguese translation - debconf messages", thanks + to Américo Monteiro (Closes: #1104887). + * Bug fix: "[INTL:de] updated German debconf translation", thanks to + Helge Kreutzmann (Closes: #1104918). + + -- Camm Maguire Sat, 10 May 2025 19:27:15 -0400 + +gcl27 (2.7.1-4) unstable; urgency=medium + + * Version_2_7_2ore3 + + -- Camm Maguire Sat, 03 May 2025 09:21:20 -0400 + +gcl27 (2.7.1-3) unstable; urgency=medium + + * Version_2_7_2ore2 + + -- Camm Maguire Tue, 22 Apr 2025 20:39:18 -0400 + +gcl27 (2.7.1-2) unstable; urgency=medium + + * Version_2_7_2ore1 + + -- Camm Maguire Fri, 11 Apr 2025 20:30:34 -0400 + +gcl27 (2.7.1-1) unstable; urgency=medium + + * New upstream release + + -- Camm Maguire Thu, 10 Apr 2025 21:39:17 -0400 + +gcl27 (2.7.0-36) unstable; urgency=medium + + * Version_2_7_0pre39 + + -- Camm Maguire Mon, 24 Mar 2025 16:30:46 -0400 + +gcl27 (2.7.0-35) unstable; urgency=medium + + * Version_2_7_0pre38 + * Bug fix: "ftbfs with GCC-15", thanks to Matthias Klose (Closes: + #1096686). + + -- Camm Maguire Thu, 06 Mar 2025 10:54:11 -0500 + +gcl27 (2.7.0-34) unstable; urgency=medium + + * Version_2_7_0pre37 + * Bug fix: "outdated debconf version constraint; inhibits support for + debconf-2.0/cdebconf", thanks to Gioele Barabucci (Closes: #1096166). + + -- Camm Maguire Tue, 18 Feb 2025 12:50:30 -0500 + +gcl27 (2.7.0-33) unstable; urgency=medium + + * Version_2_7_0pre36 + + -- Camm Maguire Sat, 08 Feb 2025 15:29:48 -0500 + +gcl27 (2.7.0-32) unstable; urgency=medium + + * Version_2_7_0pre35 + + -- Camm Maguire Sun, 02 Feb 2025 12:00:42 -0500 + +gcl27 (2.7.0-31) unstable; urgency=medium + + * Version_2_7_0pre34 + + -- Camm Maguire Fri, 17 Jan 2025 18:42:15 -0500 + +gcl27 (2.7.0-30) unstable; urgency=medium + + * Version_2_7_0pre33 + + -- Camm Maguire Fri, 27 Dec 2024 13:21:13 -0500 + +gcl27 (2.7.0-29) unstable; urgency=medium + + * Version_2_7_0pre32 + + -- Camm Maguire Mon, 09 Dec 2024 10:00:39 -0500 + +gcl27 (2.7.0-28) unstable; urgency=medium + + * Version_2_7_0pre31 + + -- Camm Maguire Wed, 04 Dec 2024 13:25:14 -0500 + +gcl27 (2.7.0-27) unstable; urgency=medium + + * Version_2_7_0pre30 + + -- Camm Maguire Wed, 04 Dec 2024 07:48:31 -0500 + +gcl27 (2.7.0-26) unstable; urgency=medium + + * Version_2_7_0pre29 + + -- Camm Maguire Sat, 23 Nov 2024 11:33:30 -0500 + +gcl27 (2.7.0-25) unstable; urgency=medium + + * Bug fix: "needs rebuild against dh-elpa >=2.1.5", thanks to + spwhitton@spwhitton.name; (Closes: #1077103). + + -- Camm Maguire Sun, 28 Jul 2024 12:07:24 -0400 + +gcl27 (2.7.0-24) unstable; urgency=medium + + * Version_2_7_0pre27 + + -- Camm Maguire Fri, 19 Jul 2024 15:04:27 -0400 + +gcl27 (2.7.0-23) unstable; urgency=medium + + * Version_2_7_0pre26 + + -- Camm Maguire Sun, 28 Apr 2024 22:13:09 -0400 + +gcl27 (2.7.0-22) unstable; urgency=medium + + * Version_2_7_0pre25 + + -- Camm Maguire Sun, 28 Apr 2024 07:55:48 -0400 + +gcl27 (2.7.0-21) unstable; urgency=high + + * Version_2_7_0pre24 + * Bug fix: "recent libc6-dev change causes XDR support to be dropped", + thanks to Aurelien Jarno (Closes: #1065207). + + -- Camm Maguire Fri, 15 Mar 2024 20:00:19 -0400 + +gcl27 (2.7.0-20) unstable; urgency=medium + + * Version_2_7_0pre23 + + -- Camm Maguire Thu, 29 Feb 2024 06:51:25 -0500 + +gcl27 (2.7.0-19) unstable; urgency=medium + + * Version_2_7_0pre22 + + -- Camm Maguire Wed, 28 Feb 2024 13:35:45 -0500 + +gcl27 (2.7.0-18) unstable; urgency=medium + + * Version_2_7_0pre21 + + -- Camm Maguire Sat, 24 Feb 2024 08:40:29 -0500 + +gcl27 (2.7.0-17) unstable; urgency=medium + + * Version_2_7_0pre20 + + -- Camm Maguire Fri, 23 Feb 2024 12:23:51 -0500 + +gcl27 (2.7.0-16) unstable; urgency=medium + + * Version_2_7_0pre19 + + -- Camm Maguire Thu, 22 Feb 2024 22:03:20 -0500 + +gcl27 (2.7.0-15) unstable; urgency=medium + + * Version_2_7_0pre18 + + -- Camm Maguire Thu, 22 Feb 2024 15:00:44 -0500 + +gcl27 (2.7.0-14) unstable; urgency=medium + + * Version_2_7_0pre17 + + -- Camm Maguire Wed, 21 Feb 2024 08:03:46 -0500 + +gcl27 (2.7.0-13) unstable; urgency=medium + + * Version_2_7_0pre16 + + -- Camm Maguire Wed, 21 Feb 2024 00:17:54 -0500 + +gcl27 (2.7.0-12) unstable; urgency=medium + + * Version_2_7_0pre15 + + -- Camm Maguire Mon, 19 Feb 2024 19:08:05 -0500 + +gcl27 (2.7.0-11) unstable; urgency=medium + + * Version_2_7_0pre14 + + -- Camm Maguire Mon, 19 Feb 2024 11:04:51 -0500 + +gcl27 (2.7.0-10) unstable; urgency=medium + + * Version_2_7_0pre13 + + -- Camm Maguire Sun, 28 Jan 2024 20:17:32 -0500 + +gcl27 (2.7.0-9) unstable; urgency=medium + + * Version_2_7_0pre12 + + -- Camm Maguire Sun, 28 Jan 2024 18:09:15 -0500 + +gcl27 (2.7.0-8) unstable; urgency=medium + + * Version_2_7_0pre11 + + -- Camm Maguire Sun, 28 Jan 2024 10:36:24 -0500 + +gcl27 (2.7.0-7) unstable; urgency=medium + + * Version_2_7_0pre10 + + -- Camm Maguire Sat, 27 Jan 2024 12:35:03 -0500 + +gcl27 (2.7.0-6) unstable; urgency=medium + + * Version_2_7_0pre9 + + -- Camm Maguire Thu, 21 Dec 2023 15:02:31 -0500 + +gcl27 (2.7.0-5) unstable; urgency=medium + + * Version_2_7_0pre8 + + -- Camm Maguire Thu, 21 Dec 2023 13:08:00 -0500 + +gcl27 (2.7.0-4) unstable; urgency=medium + + * Version_2_7_0pre7 + + -- Camm Maguire Thu, 21 Dec 2023 09:37:49 -0500 + +gcl27 (2.7.0-3) unstable; urgency=medium + + * Version_2_7_0pre5 + + -- Camm Maguire Wed, 20 Dec 2023 19:43:39 -0500 + +gcl27 (2.7.0-2) unstable; urgency=medium + + * Version_2_7_0pre4 + + -- Camm Maguire Wed, 20 Dec 2023 16:01:04 -0500 + +gcl27 (2.7.0-1) unstable; urgency=medium + + * Version_2_7_0pre3 + + -- Camm Maguire Thu, 14 Dec 2023 16:20:45 -0500 + +gcl (2.6.13-5) unstable; urgency=medium + + * Version_2_6_14pre4 + + -- Camm Maguire Sun, 25 Dec 2022 07:14:33 -0500 + +gcl (2.6.13-4) unstable; urgency=medium + + * Version_2_6_14pre3 + + -- Camm Maguire Fri, 23 Dec 2022 11:34:35 -0500 + +gcl (2.6.13-3) unstable; urgency=medium + + * Version_2_6_14pre2 + + -- Camm Maguire Thu, 22 Dec 2022 19:09:24 -0500 + +gcl (2.6.13-2) unstable; urgency=medium + + * Version_2_6_14pre1 + + -- Camm Maguire Wed, 21 Dec 2022 14:40:21 -0500 + +gcl (2.6.13-1) unstable; urgency=medium + + * New Upstream Release + + -- Camm Maguire Tue, 20 Dec 2022 10:35:44 -0500 + +gcl (2.6.12-131) unstable; urgency=medium + + * Version_2.6.13pre131 + + -- Camm Maguire Sat, 17 Dec 2022 12:15:58 -0500 + +gcl (2.6.12-130) unstable; urgency=medium + + * Version_2.6.13pre130 + + -- Camm Maguire Fri, 16 Dec 2022 12:41:29 -0500 + +gcl (2.6.12-129) unstable; urgency=medium + + * Version_2.6.13pre129 + + -- Camm Maguire Sun, 13 Nov 2022 07:55:14 -0500 + +gcl (2.6.12-128) unstable; urgency=medium + + * Version_2.6.13pre128 + + -- Camm Maguire Sat, 12 Nov 2022 11:02:31 -0500 + +gcl (2.6.12-126) unstable; urgency=medium + + * Version_2.6.13pre126 + + -- Camm Maguire Tue, 08 Nov 2022 19:43:41 -0500 + +gcl (2.6.12-125) unstable; urgency=medium + + * Version_2.6.13pre125 + + -- Camm Maguire Tue, 08 Nov 2022 15:33:25 -0500 + +gcl (2.6.12-124) unstable; urgency=medium + + * Version_2.6.13pre124 + + -- Camm Maguire Thu, 11 Aug 2022 13:16:42 -0400 + +gcl (2.6.12-123) unstable; urgency=medium + + * Version_2.6.13pre123 + + -- Camm Maguire Mon, 08 Aug 2022 13:00:55 -0400 + +gcl (2.6.12-122) unstable; urgency=medium + + * Version_2.6.13pre122 + + -- Camm Maguire Mon, 08 Aug 2022 11:50:22 -0400 + +gcl (2.6.12-121) unstable; urgency=medium + + * Version_2.6.13pre121 + + -- Camm Maguire Mon, 08 Aug 2022 11:45:30 -0400 + +gcl (2.6.12-120) unstable; urgency=medium + + * Version_2.6.13pre120 + + -- Camm Maguire Sun, 07 Aug 2022 12:26:10 -0400 + +gcl (2.6.12-119) unstable; urgency=medium + + * Version_2.6.13pre119 + + -- Camm Maguire Sun, 31 Jul 2022 12:00:02 -0400 + +gcl (2.6.12-118) unstable; urgency=medium + + * Bug fix: "emacs dependency should be "emacs | emacsen"", + thanks to Adrian Bunk (Closes: #1006617). + * Bug fix: "Please remove dependency on install-info", thanks to + hille42@web.de; (Closes: #1013691). + * Version_2.6.13pre118 + + -- Camm Maguire Tue, 12 Jul 2022 17:17:09 -0400 + +gcl (2.6.12-117) unstable; urgency=medium + + * Version_2.6.13pre114 + + -- Camm Maguire Sat, 25 Dec 2021 11:38:16 -0500 + +gcl (2.6.12-116) unstable; urgency=medium + + * Version_2.6.13pre113 + + -- Camm Maguire Wed, 22 Dec 2021 19:52:18 +0000 + +gcl (2.6.12-115) unstable; urgency=medium + + * Version_2.6.13pre112 + + -- Camm Maguire Fri, 17 Dec 2021 16:08:45 +0000 + +gcl (2.6.12-114) unstable; urgency=medium + + * Version_2.6.13pre111 + + -- Camm Maguire Thu, 16 Dec 2021 11:35:04 +0000 + +gcl (2.6.12-113) unstable; urgency=medium + + * Version_2.6.13pre110 + + -- Camm Maguire Thu, 16 Dec 2021 11:35:04 +0000 + +gcl (2.6.12-112) unstable; urgency=medium + + * Version_2.6.13pre109 + + -- Camm Maguire Wed, 15 Dec 2021 19:39:42 +0000 + +gcl (2.6.12-111) unstable; urgency=medium + + * Version_2.6.13pre108 + + -- Camm Maguire Thu, 11 Nov 2021 17:10:43 +0000 + +gcl (2.6.12-110) unstable; urgency=medium + + * Version_2.6.13pre107 + + -- Camm Maguire Thu, 11 Nov 2021 01:34:07 +0000 + +gcl (2.6.12-109) unstable; urgency=medium + + * Version_2.6.13pre106 + + -- Camm Maguire Wed, 10 Nov 2021 18:57:21 +0000 + +gcl (2.6.12-108) unstable; urgency=medium + + * Version_2.6.13pre105 + + -- Camm Maguire Tue, 09 Nov 2021 18:22:58 +0000 + +gcl (2.6.12-107) unstable; urgency=medium + + * Version_2.6.13pre103 + + -- Camm Maguire Tue, 09 Nov 2021 10:10:19 +0000 + +gcl (2.6.12-106) unstable; urgency=medium + + * Version_2.6.13pre102 + + -- Camm Maguire Thu, 04 Nov 2021 14:33:53 +0000 + +gcl (2.6.12-105) unstable; urgency=medium + + * Version_2.6.13pre101 + * Bug fix: "fails to start with glibc 2.33", thanks to Andreas Kloeckner + (Closes: #995323). + + -- Camm Maguire Sun, 10 Oct 2021 13:18:39 +0000 + +gcl (2.6.12-104) unstable; urgency=medium + + * Version_2.6.13pre100 + * standardize cstack start address on 32bit arm + + -- Camm Maguire Sun, 10 Oct 2021 12:44:51 +0000 + +gcl (2.6.12-103) unstable; urgency=medium + + * Bug fix: "Fails to install in unstable", thanks to Samuel Thibault + (Closes: #993480). + + -- Camm Maguire Sat, 04 Sep 2021 19:23:26 +0000 + +gcl (2.6.12-102) unstable; urgency=medium + + * Version_2.6.13pre99 + * Bug fix: "describe fails because gcl-si.info does not exist", thanks + to Leo Butler (Closes: #980003). + + -- Camm Maguire Fri, 29 Jan 2021 19:08:05 +0000 + +gcl (2.6.12-101) unstable; urgency=medium + + * Version_2.6.13pre98 + + -- Camm Maguire Sun, 17 Jan 2021 16:25:34 +0000 + +gcl (2.6.12-100) unstable; urgency=medium + + * Version_2.6.13pre97 + + -- Camm Maguire Fri, 04 Dec 2020 14:51:41 +0000 + +gcl (2.6.12-99) unstable; urgency=medium + + * Version_2.6.13pre95 + + -- Camm Maguire Sat, 28 Nov 2020 15:50:42 +0000 + +gcl (2.6.12-98) unstable; urgency=medium + + * Version_2.6.13pre94 + + -- Camm Maguire Tue, 29 Sep 2020 18:29:10 +0000 + +gcl (2.6.12-97) unstable; urgency=medium + + * Bug fix: "Removal of obsolete debhelper compat 5 and 6 in bookworm", + thanks to Niels Thykier (Closes: #965543). + * Version_2.6.13pre93 + + -- Camm Maguire Sat, 29 Aug 2020 16:23:07 +0000 + +gcl (2.6.12-96) unstable; urgency=high + + * Version_2.6.13pre92: Work around armhf strip bug producing undefined + instruction in .plt + + -- Camm Maguire Sun, 23 Aug 2020 17:53:14 +0000 + +gcl (2.6.12-95) unstable; urgency=high + + * Version_2_6_13pre90 + * build under GCL_MEM_MULTIPLE=0.1 + * Bug fix: "FTBFS: Unrecoverable error: Segmentation violation..", + thanks to Lucas Nussbaum (Closes: #952334). + + -- Camm Maguire Fri, 01 May 2020 12:55:02 +0000 + +gcl (2.6.12-94) unstable; urgency=medium + + * re-release to overcome hopefully transient buildd failure + + -- Camm Maguire Mon, 24 Feb 2020 20:02:52 +0000 + +gcl (2.6.12-93) unstable; urgency=medium + + * Version_2_6_13pre90 + + -- Camm Maguire Fri, 21 Feb 2020 19:06:56 +0000 + +gcl (2.6.12-92) unstable; urgency=medium + + * Version_2_6_13pre89 + + -- Camm Maguire Mon, 30 Dec 2019 15:46:22 +0000 + +gcl (2.6.12-91) unstable; urgency=medium + + * Version_2_6_13pre88 + + -- Camm Maguire Wed, 18 Dec 2019 20:14:09 +0000 + +gcl (2.6.12-90) unstable; urgency=medium + + * Version_2_6_13pre87 + * latest standards + + -- Camm Maguire Sun, 08 Dec 2019 19:27:24 +0000 + +gcl (2.6.12-89) unstable; urgency=medium + + * Bug fix: "gcl - FTBFS on ppc64el - invalid relocation type 31", thanks + to thierry.fauck@fr.ibm.com; (Closes: #942312). + * Bug fix: "FTBFS on ppc64el", thanks to Ivo De Decker (Closes: + #944651). + + -- Camm Maguire Sat, 07 Dec 2019 23:27:53 +0000 + +gcl (2.6.12-88) unstable; urgency=medium + + * Source only upload + + -- Camm Maguire Fri, 11 Oct 2019 19:18:44 +0000 + +gcl (2.6.12-87) unstable; urgency=medium + + * Version_2_6_13pre84 + + -- Camm Maguire Sat, 06 Apr 2019 13:03:21 +0000 + +gcl (2.6.12-86) unstable; urgency=medium + + * Version_2_6_13pre83 + + -- Camm Maguire Tue, 02 Apr 2019 19:57:15 +0000 + +gcl (2.6.12-85) unstable; urgency=medium + + * Version_2_6_13pre82 + + -- Camm Maguire Thu, 28 Mar 2019 18:48:55 +0000 + +gcl (2.6.12-84) unstable; urgency=medium + + * Version_2_6_13pre80 + + -- Camm Maguire Thu, 21 Mar 2019 18:59:40 +0000 + +gcl (2.6.12-83) unstable; urgency=high + + * Version_2_6_13pre79 + * Fix acl2 arm builds (Closes: #919477). + + -- Camm Maguire Tue, 05 Feb 2019 21:54:42 +0000 + +gcl (2.6.12-82) unstable; urgency=high + + * Version_2_6_13pre74 + + -- Camm Maguire Sat, 02 Feb 2019 17:40:20 +0000 + +gcl (2.6.12-81) unstable; urgency=high + + * Version_2_6_13pre72 + * Fix to ppc64el for acl2 FTBFS bug + + -- Camm Maguire Mon, 21 Jan 2019 16:40:36 +0000 + +gcl (2.6.12-80) unstable; urgency=medium + + * Version_2_6_13pre71 + * Bug fix: "FTBFS on hppa - segmentation fault assembling gbc.s", thanks + to John David Anglin (Closes: #912071). + + -- Camm Maguire Tue, 30 Oct 2018 17:20:43 +0000 + +gcl (2.6.12-79) unstable; urgency=medium + + * Version_2_6_13pre70 + + -- Camm Maguire Mon, 29 Oct 2018 16:52:17 +0000 + +gcl (2.6.12-78) unstable; urgency=medium + + * rebuild against latest compilers and tools + * Version_2_6_13pre69 + + -- Camm Maguire Thu, 11 Oct 2018 16:40:48 +0000 + +gcl (2.6.12-77) unstable; urgency=medium + + * Version_2_6_13pre68 + * Bug fix: "GCL fails to load .o files it generates", thanks to Gong-Yi + Liao (Closes: #902475). Add support for R_X86_64_PLT32 relocs. + + -- Camm Maguire Tue, 24 Jul 2018 20:06:45 +0000 + +gcl (2.6.12-76) unstable; urgency=medium + + * Version_2_6_13pre67 + + -- Camm Maguire Fri, 23 Mar 2018 19:25:22 +0000 + +gcl (2.6.12-75) unstable; urgency=medium + + * Version_2_6_13pre65 + + -- Camm Maguire Wed, 21 Mar 2018 20:28:08 +0000 + +gcl (2.6.12-74) unstable; urgency=medium + + * Version_2_6_13pre63 + + -- Camm Maguire Sat, 17 Mar 2018 11:56:05 +0000 + +gcl (2.6.12-73) unstable; urgency=medium + + * Version_2_6_13pre62 + + -- Camm Maguire Wed, 14 Mar 2018 15:38:43 +0000 + +gcl (2.6.12-72) unstable; urgency=medium + + * Version_2_6_13pre61 + + -- Camm Maguire Tue, 13 Mar 2018 15:32:44 +0000 + +gcl (2.6.12-71) unstable; urgency=medium + + * Version_2_6_13pre60 + + -- Camm Maguire Mon, 12 Mar 2018 19:44:47 +0000 + +gcl (2.6.12-70) unstable; urgency=medium + + * Version_2_6_13pre59 + + -- Camm Maguire Mon, 12 Mar 2018 16:19:00 +0000 + +gcl (2.6.12-69) unstable; urgency=medium + + * Version_2_6_13pre58 + + -- Camm Maguire Fri, 09 Mar 2018 17:10:51 +0000 + +gcl (2.6.12-68) unstable; urgency=medium + + * Version_2_6_13pre57 + + -- Camm Maguire Sun, 04 Mar 2018 13:21:00 +0000 + +gcl (2.6.12-67) unstable; urgency=medium + + * Version_2_6_13pre55 + + -- Camm Maguire Sat, 03 Mar 2018 14:27:51 +0000 + +gcl (2.6.12-66) unstable; urgency=medium + + * Version_2_6_13pre54 + + -- Camm Maguire Fri, 02 Mar 2018 21:19:03 +0000 + +gcl (2.6.12-65) unstable; urgency=medium + + * Version_2_6_13pre52 + * Bug fix: "FTBFS on hurd-i386", thanks to svante.signell@gmail.com; + (Closes: #802593). + + -- Camm Maguire Fri, 23 Feb 2018 15:55:23 +0000 + +gcl (2.6.12-64) unstable; urgency=medium + + * list_order.24 + + -- Camm Maguire Sun, 04 Feb 2018 13:26:27 +0000 + +gcl (2.6.12-63) unstable; urgency=medium + + * list_order.23 + + -- Camm Maguire Thu, 01 Feb 2018 18:36:29 +0000 + +gcl (2.6.12-62) unstable; urgency=medium + + * list_order.22 + + -- Camm Maguire Thu, 01 Feb 2018 01:05:10 +0000 + +gcl (2.6.12-61) unstable; urgency=medium + + * list_order.21 + + -- Camm Maguire Tue, 30 Jan 2018 21:13:13 +0000 + +gcl (2.6.12-60) unstable; urgency=medium + + * list_order.19 + + -- Camm Maguire Tue, 23 Jan 2018 18:11:59 +0000 + +gcl (2.6.12-59) unstable; urgency=medium + + * list_order.16 + + -- Camm Maguire Fri, 12 Jan 2018 03:25:08 +0000 + +gcl (2.6.12-58) unstable; urgency=medium + + * list_order.14 + + -- Camm Maguire Mon, 18 Sep 2017 15:45:10 +0000 + +gcl (2.6.12-57) unstable; urgency=medium + + * list_order.13 + + -- Camm Maguire Fri, 25 Aug 2017 13:44:10 +0000 + +gcl (2.6.12-56) unstable; urgency=medium + + * list_order.12 + + -- Camm Maguire Thu, 24 Aug 2017 19:12:50 +0000 + +gcl (2.6.12-55) unstable; urgency=medium + + * disable gprof on aarch64 + * Bug fix: "gcl FTBFS on arm64: Unrecoverable error: Segmentation + violation..", thanks to Adrian Bunk (Closes: #873052). + + -- Camm Maguire Thu, 24 Aug 2017 16:37:07 +0000 + +gcl (2.6.12-54) unstable; urgency=medium + + * list_order.11 + + -- Camm Maguire Wed, 23 Aug 2017 22:19:14 +0000 + +gcl (2.6.12-53) unstable; urgency=medium + + * list_order.9 + + -- Camm Maguire Sun, 18 Jun 2017 18:32:30 +0000 + +gcl (2.6.12-52) unstable; urgency=medium + + * list_order.8 + + -- Camm Maguire Thu, 15 Jun 2017 18:04:41 +0000 + +gcl (2.6.12-51) unstable; urgency=medium + + * list_order.7 + + -- Camm Maguire Wed, 14 Jun 2017 18:30:46 +0000 + +gcl (2.6.12-50) unstable; urgency=medium + + * list_order.6 + + -- Camm Maguire Tue, 13 Jun 2017 22:38:52 +0000 + +gcl (2.6.12-49) unstable; urgency=medium + + * list_order.5 + + -- Camm Maguire Thu, 08 Jun 2017 17:21:01 +0000 + +gcl (2.6.12-48) unstable; urgency=medium + + * list_order.1 + + -- Camm Maguire Sun, 28 May 2017 01:42:29 +0000 + +gcl (2.6.12-47) unstable; urgency=high + + * pathnames1.13 + + -- Camm Maguire Tue, 22 Nov 2016 04:53:35 +0000 + +gcl (2.6.12-46) unstable; urgency=high + + * pathnames1.12 + * Bug fix: "maintainer script(s) do not start on #!", thanks to + treinen@debian.org; (Closes: #843303). + + -- Camm Maguire Fri, 18 Nov 2016 18:27:53 +0000 + +gcl (2.6.12-45) unstable; urgency=high + + * pathnames1.11 + + -- Camm Maguire Mon, 31 Oct 2016 22:57:27 +0000 + +gcl (2.6.12-44) unstable; urgency=high + + * pathnames1.9 + + -- Camm Maguire Fri, 28 Oct 2016 17:04:38 +0000 + +gcl (2.6.12-43) unstable; urgency=medium + + * pathnames1.7 + + -- Camm Maguire Thu, 27 Oct 2016 03:46:32 +0000 + +gcl (2.6.12-42) unstable; urgency=medium + + * pathnames1.6 + * Bug fix: "FTBFS with bindnow and PIE enabled", thanks to Balint Reczey + (Closes: #837481). + * Bug fix: "FTBFS with compilers that default to -fPIE (patch + attached)", thanks to Adam Conrad (Closes: #822820). + + -- Camm Maguire Wed, 26 Oct 2016 23:04:57 +0000 + +gcl (2.6.12-41) unstable; urgency=medium + + * pathnames1.4, kfreebsd fix + + -- Camm Maguire Fri, 14 Oct 2016 01:17:18 +0000 + +gcl (2.6.12-40) unstable; urgency=medium + + * pathnames1.2 + * Bug fix: "popen arguments not quoted causes trouble and security + issues", thanks to axel (Closes: #802203). + + -- Camm Maguire Wed, 12 Oct 2016 18:09:26 +0000 + +gcl (2.6.12-39) unstable; urgency=medium + + * pathnames1.1 + * ansi-test clean target + + -- Camm Maguire Wed, 12 Oct 2016 01:32:05 +0000 + +gcl (2.6.12-38) unstable; urgency=medium + + * Version_2_6_13pre50 + + -- Camm Maguire Tue, 04 Oct 2016 19:45:38 +0000 + +gcl (2.6.12-37) unstable; urgency=medium + + * Version_2_6_13pre49 + + -- Camm Maguire Mon, 03 Oct 2016 14:54:09 +0000 + +gcl (2.6.12-36) unstable; urgency=medium + + * Version_2_6_13pre48 + + -- Camm Maguire Sat, 01 Oct 2016 12:10:25 +0000 + +gcl (2.6.12-35) unstable; urgency=medium + + * Version_2_6_13pre47 + + -- Camm Maguire Fri, 30 Sep 2016 21:21:43 +0000 + +gcl (2.6.12-34) unstable; urgency=medium + + * Version_2_6_13pre45 + + -- Camm Maguire Fri, 23 Sep 2016 19:42:37 +0000 + +gcl (2.6.12-33) unstable; urgency=medium + + * Version_2_6_13pre43 + + -- Camm Maguire Tue, 03 May 2016 16:17:03 +0000 + +gcl (2.6.12-32) unstable; urgency=medium + + * Version_2_6_13pre40 + * Bug fix: "[INTL:pt_BR] Brazilian Portuguese debconf templates + translation", thanks to Adriano Rafael Gomes (Closes: #811523). + + -- Camm Maguire Wed, 20 Apr 2016 15:18:35 +0000 + +gcl (2.6.12-31) unstable; urgency=medium + + * Version_2_6_13pre39 + + -- Camm Maguire Mon, 11 Apr 2016 00:41:11 +0000 + +gcl (2.6.12-30) unstable; urgency=medium + + * Version_2_6_13pre38 + + -- Camm Maguire Wed, 06 Apr 2016 00:20:15 +0000 + +gcl (2.6.12-29) unstable; urgency=medium + + * Version_2_6_13pre35; support latest binutils + * Bug fix: "gcl ftbfs on amd64 and i386 with binutils from + experimental", thanks to Matthias Klose (Closes: #803214). + + -- Camm Maguire Thu, 29 Oct 2015 15:20:27 +0000 + +gcl (2.6.12-28) unstable; urgency=medium + + * Version_2_6_13pre35; restore hppa build + + -- Camm Maguire Tue, 27 Oct 2015 20:00:46 +0000 + +gcl (2.6.12-27) unstable; urgency=medium + + * Version_2_6_13pre34; mips64 relocs; stack saving tail-recursive equal. + + -- Camm Maguire Tue, 27 Oct 2015 16:35:06 +0000 + +gcl (2.6.12-26) unstable; urgency=medium + + * Version_2_6_13pre32 + + -- Camm Maguire Fri, 23 Oct 2015 00:03:34 +0000 + +gcl (2.6.12-25) unstable; urgency=medium + + * Version_2_6_13pre31, kfreebsd and mips64 FTBFS fix + + -- Camm Maguire Fri, 16 Oct 2015 15:03:03 +0000 + +gcl (2.6.12-24) unstable; urgency=medium + + * Version_2_6_13pre30 + + -- Camm Maguire Fri, 16 Oct 2015 02:44:23 +0000 + +gcl (2.6.12-23) unstable; urgency=medium + + * Version_2_6_13pre29 + + -- Camm Maguire Thu, 15 Oct 2015 18:09:59 +0000 + +gcl (2.6.12-22) unstable; urgency=medium + + * Version_2_6_13pre27 + + -- Camm Maguire Tue, 13 Oct 2015 14:38:53 +0000 + +gcl (2.6.12-21) unstable; urgency=medium + + * Version_2_6_13pre26 + + -- Camm Maguire Wed, 07 Oct 2015 15:14:27 +0000 + +gcl (2.6.12-20) unstable; urgency=medium + + * Version_2_6_13pre25 + + -- Camm Maguire Thu, 01 Oct 2015 15:16:14 +0000 + +gcl (2.6.12-19) unstable; urgency=medium + + * Use-dpkg-buidflags-opt-levels-in-debian-rules, -O3 has bug in 5.2.1 + * Version_2_6_13pre24 + + -- Camm Maguire Wed, 30 Sep 2015 15:45:20 +0000 + +gcl (2.6.12-18) unstable; urgency=medium + + * Version_2_6_13pre22 + + -- Camm Maguire Tue, 29 Sep 2015 16:51:03 +0000 + +gcl (2.6.12-17) unstable; urgency=medium + + * Version_2_6_13pre20 + + -- Camm Maguire Sat, 26 Sep 2015 10:34:23 -0400 + +gcl (2.6.12-16) unstable; urgency=medium + + * Version_2_6_13pre19 + + -- Camm Maguire Fri, 25 Sep 2015 18:39:52 -0400 + +gcl (2.6.12-15) unstable; urgency=medium + + * Version_2_6_13pre18 + + -- Camm Maguire Fri, 25 Sep 2015 15:08:50 +0000 + +gcl (2.6.12-14) unstable; urgency=medium + + * Version_2_6_13pre17 + + -- Camm Maguire Thu, 28 May 2015 03:37:47 +0000 + +gcl (2.6.12-13) unstable; urgency=medium + + * Version_2_6_13pre16 + + -- Camm Maguire Fri, 15 May 2015 18:09:38 +0000 + +gcl (2.6.12-12) unstable; urgency=medium + + * Version_2_6_13pre13 + + -- Camm Maguire Fri, 01 May 2015 11:08:46 -0400 + +gcl (2.6.12-11) unstable; urgency=medium + + * Version_2_6_13pre12 + + -- Camm Maguire Thu, 30 Apr 2015 12:49:16 -0400 + +gcl (2.6.12-10) unstable; urgency=medium + + * rebuild in clean sid environment + + -- Camm Maguire Mon, 27 Apr 2015 15:34:15 -0400 + +gcl (2.6.12-9) unstable; urgency=medium + + * Version_2_6_13pre8b + * Bug fix: "ftbfs with GCC-5", thanks to Matthias Klose (Closes: + #777866). + + -- Camm Maguire Mon, 27 Apr 2015 12:32:49 -0400 + +gcl (2.6.12-8) unstable; urgency=medium + + * Version_2_6_13pre7 + + -- Camm Maguire Fri, 24 Apr 2015 13:38:30 -0400 + +gcl (2.6.12-7) unstable; urgency=medium + + * Version_2_6_13pre6 + + -- Camm Maguire Thu, 23 Apr 2015 13:43:45 -0400 + +gcl (2.6.12-6) unstable; urgency=medium + + * Version_2_6_13pre5 + + -- Camm Maguire Wed, 22 Apr 2015 17:14:16 -0400 + +gcl (2.6.12-5) unstable; urgency=medium + + * Version_2_6_13pre4 + + -- Camm Maguire Wed, 22 Apr 2015 10:25:36 -0400 + +gcl (2.6.12-4) unstable; urgency=medium + + * Version_2_6_13pre3a + + -- Camm Maguire Mon, 20 Apr 2015 13:26:36 -0400 + +gcl (2.6.12-3) unstable; urgency=medium + + * Version_2_6_13pre2 + + -- Camm Maguire Fri, 17 Apr 2015 15:50:37 -0400 + +gcl (2.6.12-2) unstable; urgency=medium + + * Version_2_6_13pre1 + + -- Camm Maguire Wed, 26 Nov 2014 11:12:46 -0500 + +gcl (2.6.12-1) unstable; urgency=medium + + * New upstream release + + -- Camm Maguire Tue, 28 Oct 2014 09:56:15 -0400 + +gcl (2.6.11-6) unstable; urgency=medium + + * 2.6.12pre5 + + -- Camm Maguire Thu, 23 Oct 2014 17:33:22 -0400 + +gcl (2.6.11-5) unstable; urgency=medium + + * 2.6.12pre4 + + -- Camm Maguire Sat, 18 Oct 2014 09:46:34 -0400 + +gcl (2.6.11-4) unstable; urgency=medium + + * 2.6.12pre3 + + -- Camm Maguire Thu, 16 Oct 2014 11:56:15 -0400 + +gcl (2.6.11-3) unstable; urgency=medium + + * 2.6.12pre2 + + -- Camm Maguire Sun, 28 Sep 2014 20:56:18 -0400 + +gcl (2.6.11-2) unstable; urgency=medium + + * 2.6.12pre1 + + -- Camm Maguire Fri, 19 Sep 2014 14:49:25 -0400 + +gcl (2.6.11-1) unstable; urgency=medium + + * New upstream release + + -- Camm Maguire Sat, 06 Sep 2014 12:28:46 -0400 + +gcl (2.6.10-54) unstable; urgency=medium + + * remove-debug-message-from-BUGGY_MAXIMUM_SSCANF_LENGTH-code + + -- Camm Maguire Fri, 05 Sep 2014 10:35:46 -0400 + +gcl (2.6.10-53) unstable; urgency=medium + + * ppc64le-support-headers + + -- Camm Maguire Wed, 03 Sep 2014 15:02:12 -0400 + +gcl (2.6.10-52) unstable; urgency=medium + + * accept-TMP-paths-with-types-versions + + -- Camm Maguire Fri, 29 Aug 2014 17:51:04 -0400 + +gcl (2.6.10-51) unstable; urgency=medium + + * fix-match-function-proclaim-skew + + -- Camm Maguire Fri, 29 Aug 2014 16:40:30 +0000 + +gcl (2.6.10-50) unstable; urgency=medium + + * trial_selinux_support + + -- Camm Maguire Thu, 21 Aug 2014 17:29:50 +0000 + +gcl (2.6.10-49) unstable; urgency=medium + + * R_ARM_JUMP24 + + -- Camm Maguire Wed, 20 Aug 2014 17:08:23 +0000 + +gcl (2.6.10-48) unstable; urgency=medium + + * try-SGC-for-aarch64 + + -- Camm Maguire Tue, 19 Aug 2014 18:35:22 +0000 + +gcl (2.6.10-47) unstable; urgency=medium + + * set-stack_guard-after-alloc-setup + * Bug fix: "work around build failure on AArch64", thanks to Matthias + Klose (Closes: #758101). + + -- Camm Maguire Thu, 14 Aug 2014 19:36:48 +0000 + +gcl (2.6.10-46) unstable; urgency=medium + + * R_AARCH64_LDST128_ABS_LO12_NC + + -- Camm Maguire Wed, 13 Aug 2014 21:39:50 +0000 + +gcl (2.6.10-45) unstable; urgency=medium + + * fix sh4 CLEAR_CACHE + + -- Camm Maguire Sun, 10 Aug 2014 20:12:03 +0000 + +gcl (2.6.10-44) unstable; urgency=medium + + * clear_protect_memory on all elf machines + + -- Camm Maguire Sat, 09 Aug 2014 00:55:17 +0000 + +gcl (2.6.10-43) unstable; urgency=medium + + * mips uses builtin_clear_cache like mipsel + + -- Camm Maguire Fri, 08 Aug 2014 23:42:42 +0000 + +gcl (2.6.10-42) unstable; urgency=medium + + * backport travel_push_new from master + + -- Camm Maguire Wed, 06 Aug 2014 20:14:14 +0000 + +gcl (2.6.10-41) unstable; urgency=medium + + * protos and CFLAGS for axiom extensions + + -- Camm Maguire Wed, 06 Aug 2014 01:54:38 +0000 + +gcl (2.6.10-40) unstable; urgency=medium + + * better solaris unexec fix + + -- Camm Maguire Mon, 04 Aug 2014 22:00:54 +0000 + +gcl (2.6.10-39) unstable; urgency=medium + + * earlier prelink_init, phys_pages w/o malloc + + -- Camm Maguire Mon, 04 Aug 2014 16:52:09 +0000 + +gcl (2.6.10-38) unstable; urgency=medium + + * error on overflow of array dimensions + + -- Camm Maguire Fri, 01 Aug 2014 14:35:44 +0000 + +gcl (2.6.10-37) unstable; urgency=medium + + * FILE * casts for windows feof wrapper + + -- Camm Maguire Thu, 31 Jul 2014 02:17:11 +0000 + +gcl (2.6.10-36) unstable; urgency=medium + + * better casts for frs_jmpbuf + + -- Camm Maguire Wed, 30 Jul 2014 17:00:06 +0000 + +gcl (2.6.10-35) unstable; urgency=medium + + * find_sym_ptable typo fix + + -- Camm Maguire Tue, 29 Jul 2014 18:08:57 +0000 + +gcl (2.6.10-34) unstable; urgency=medium + + * --enable-prelink configure arg; stack_chk_guard for 68k + + -- Camm Maguire Fri, 25 Jul 2014 20:39:10 +0000 + +gcl (2.6.10-33) unstable; urgency=medium + + * hurd stack_guard, ppc64 C_GC_OFFSET + + -- Camm Maguire Thu, 24 Jul 2014 21:46:24 +0000 + +gcl (2.6.10-32) unstable; urgency=medium + + * __stack_chk_guard fix for arm/sh4 + + -- Camm Maguire Wed, 23 Jul 2014 18:12:56 +0000 + +gcl (2.6.10-31) unstable; urgency=medium + + * dpkg-buildflags trial + + -- Camm Maguire Tue, 22 Jul 2014 20:06:10 +0000 + +gcl (2.6.10-30) unstable; urgency=medium + + * fix offsets ppc + + -- Camm Maguire Tue, 22 Jul 2014 17:12:27 +0000 + +gcl (2.6.10-29) unstable; urgency=medium + + * fix unexec file offsets + + -- Camm Maguire Tue, 22 Jul 2014 15:36:45 +0000 + +gcl (2.6.10-28) unstable; urgency=high + + * enable prelink + + -- Camm Maguire Fri, 18 Jul 2014 19:24:38 +0000 + +gcl (2.6.10-27) unstable; urgency=high + + * protect closure calls from gc + + -- Camm Maguire Wed, 16 Jul 2014 16:15:33 +0000 + +gcl (2.6.10-26) unstable; urgency=high + + * Bug fix: "packages should not build-depend on binutils-dev", thanks to + Matthias Klose (Closes: #754840). Please note that gcl has long + depended on binutils-dev for good reason -- happily it is no longer + necessary + + -- Camm Maguire Tue, 15 Jul 2014 16:04:04 +0000 + +gcl (2.6.10-25) unstable; urgency=high + + * rebuild to get gcc fixes on i386 + + -- Camm Maguire Fri, 11 Jul 2014 03:14:45 +0000 + +gcl (2.6.10-24) unstable; urgency=high + + * try default gcc 4.9 + * access libopcodes without link dependency via dlopen + * Bug fix: "please switch to emacs24", thanks to Gabriele Giacone + (Closes: #754012). + + -- Camm Maguire Wed, 09 Jul 2014 17:34:21 +0000 + +gcl (2.6.10-23) unstable; urgency=high + + * rebuild latest binutils + + -- Camm Maguire Sat, 05 Jul 2014 23:19:27 +0000 + +gcl (2.6.10-22) unstable; urgency=high + + * gcc-4.8 on i386, 4.9 has bugs at present + + -- Camm Maguire Fri, 04 Jul 2014 01:36:06 +0000 + +gcl (2.6.10-21) unstable; urgency=high + + * 2.6.11pre test 20 + + -- Camm Maguire Mon, 30 Jun 2014 22:43:27 +0000 + +gcl (2.6.10-20) unstable; urgency=high + + * 2.6.11pre test 19 + + -- Camm Maguire Sun, 29 Jun 2014 17:59:59 +0000 + +gcl (2.6.10-19) unstable; urgency=high + + * 2.6.11pre test 18 + + -- Camm Maguire Sun, 29 Jun 2014 16:00:07 +0000 + +gcl (2.6.10-18) unstable; urgency=high + + * 2.6.11pre test 17 + + -- Camm Maguire Sat, 28 Jun 2014 16:57:54 +0000 + +gcl (2.6.10-17) unstable; urgency=high + + * 2.6.11pre test 16 + + -- Camm Maguire Thu, 26 Jun 2014 18:06:42 +0000 + +gcl (2.6.10-16) unstable; urgency=high + + * 2.6.11pre test 15 + + -- Camm Maguire Wed, 18 Jun 2014 17:37:36 +0000 + +gcl (2.6.10-15) unstable; urgency=high + + * 2.6.11pre test 14 + + -- Camm Maguire Tue, 17 Jun 2014 00:39:35 +0000 + +gcl (2.6.10-14) unstable; urgency=high + + * 2.6.11pre test 13 + + -- Camm Maguire Sat, 14 Jun 2014 13:43:57 +0000 + +gcl (2.6.10-13) unstable; urgency=high + + * 2.6.11pre test 12 + + -- Camm Maguire Tue, 20 May 2014 16:00:22 +0000 + +gcl (2.6.10-12) unstable; urgency=high + + * 2.6.11pre test 11 + + -- Camm Maguire Fri, 16 May 2014 17:41:33 +0000 + +gcl (2.6.10-11) unstable; urgency=high + + * 2.6.11pre test 10 + + -- Camm Maguire Fri, 16 May 2014 13:18:07 +0000 + +gcl (2.6.10-10) unstable; urgency=high + + * 2.6.11pre test 9 + + -- Camm Maguire Wed, 07 May 2014 17:10:30 +0000 + +gcl (2.6.10-9) unstable; urgency=high + + * 2.6.11pre test 8 + + -- Camm Maguire Fri, 25 Apr 2014 19:53:10 +0000 + +gcl (2.6.10-8) unstable; urgency=high + + * 2.6.11pre test 7 + + -- Camm Maguire Mon, 21 Apr 2014 14:09:37 +0000 + +gcl (2.6.10-7) unstable; urgency=high + + * 2.6.11pre test 6 + + -- Camm Maguire Sat, 19 Apr 2014 17:52:17 +0000 + +gcl (2.6.10-6) unstable; urgency=high + + * 2.6.11pre test 5 + + -- Camm Maguire Fri, 18 Apr 2014 15:06:09 +0000 + +gcl (2.6.10-5) unstable; urgency=high + + * 2.6.11pre test 4 + + -- Camm Maguire Tue, 15 Apr 2014 20:30:13 +0000 + +gcl (2.6.10-4) unstable; urgency=high + + * 2.6.11pre test 3 + * Bug fix: "debian/rules uses DEB_BUILD_* macros instead of DEB_HOST_* + macros", thanks to Matthias Klose (Closes: #743520). + + -- Camm Maguire Wed, 09 Apr 2014 13:15:32 +0000 + +gcl (2.6.10-3) unstable; urgency=high + + * 2.6.11pre test 2 + + -- Camm Maguire Thu, 03 Apr 2014 14:24:23 +0000 + +gcl (2.6.10-2) unstable; urgency=high + + * 2.6.11pre test 1 + * Bug fix: "FTBFS: gcl_readline.d:472:39: error: 'CPPFunction' + undeclared (first use in this function)", thanks to David Suárez + (Closes: #741819). + + -- Camm Maguire Mon, 24 Mar 2014 15:47:01 +0000 + +gcl (2.6.10-1) unstable; urgency=high + + * New upstream release + + -- Camm Maguire Wed, 13 Nov 2013 18:39:19 +0000 + +gcl (2.6.9-17) unstable; urgency=high + + * 2.6.10pre test 17 + + -- Camm Maguire Mon, 11 Nov 2013 19:41:45 +0000 + +gcl (2.6.9-16) unstable; urgency=high + + * 2.6.10pre test 16 + * Bug fix: "gcl 2.6.7+dfsga-20 needs 1 GB disk space on amd64", thanks + to Edi Meier (Closes: #714507). + * Bug fix: "[INTL:ja] New Japanese translation", thanks to victory + (Closes: #718925). + + -- Camm Maguire Sat, 09 Nov 2013 13:34:32 +0000 + +gcl (2.6.9-15) unstable; urgency=high + + * 2.6.10pre test 15 + + -- Camm Maguire Sat, 02 Nov 2013 22:21:16 +0000 + +gcl (2.6.9-14) unstable; urgency=high + + * 2.6.10pre test 14 + + -- Camm Maguire Wed, 23 Oct 2013 17:44:14 +0000 + +gcl (2.6.9-13) unstable; urgency=high + + * environment allocation unrandomize.h + + -- Camm Maguire Mon, 21 Oct 2013 00:20:16 +0000 + +gcl (2.6.9-12) unstable; urgency=high + + * 2.6.10pre test 13 + + -- Camm Maguire Fri, 18 Oct 2013 14:18:17 +0000 + +gcl (2.6.9-11) unstable; urgency=high + + * 2.6.10pre test 12, s390, mingw cleanup, make_bignum bug fix + + -- Camm Maguire Tue, 15 Oct 2013 23:32:09 +0000 + +gcl (2.6.9-10) unstable; urgency=high + + * fast-fixnums + + -- Camm Maguire Fri, 11 Oct 2013 15:05:58 +0000 + +gcl (2.6.9-9) unstable; urgency=high + + * 2.6.10pre test 10 and 11 + + -- Camm Maguire Wed, 02 Oct 2013 19:12:36 +0000 + +gcl (2.6.9-8) unstable; urgency=high + + * 2.6.10pre test 8 and 9 + + -- Camm Maguire Tue, 01 Oct 2013 21:00:19 +0000 + +gcl (2.6.9-7) unstable; urgency=high + + * 2.6.10pre test 6 and 7 + + -- Camm Maguire Mon, 30 Sep 2013 19:34:38 +0000 + +gcl (2.6.9-6) unstable; urgency=high + + * 2.6.10pre test 5 + + -- Camm Maguire Tue, 24 Sep 2013 17:03:24 +0000 + +gcl (2.6.9-5) unstable; urgency=high + + * 2.6.10pre test 4 + + -- Camm Maguire Mon, 23 Sep 2013 19:27:36 +0000 + +gcl (2.6.9-4) unstable; urgency=high + + * 2.6.10pre test 3 + + -- Camm Maguire Mon, 23 Sep 2013 16:30:09 +0000 + +gcl (2.6.9-3) unstable; urgency=high + + * 2.6.10pre test 2 + + -- Camm Maguire Sun, 22 Sep 2013 03:27:10 +0000 + +gcl (2.6.9-2) unstable; urgency=high + + * 2.6.10pre test + + -- Camm Maguire Sat, 21 Sep 2013 04:14:55 +0000 + +gcl (2.6.9-1) unstable; urgency=high + + * New upstream release + + -- Camm Maguire Wed, 28 Aug 2013 16:49:18 +0000 + +gcl (2.6.7+dfsga-40) unstable; urgency=high + + * fix allocate functions + + -- Camm Maguire Tue, 06 Aug 2013 22:36:37 +0000 + +gcl (2.6.7+dfsga-39) unstable; urgency=high + + * lower initial contiguous and relblock allocations, set *ihs-top* + properly on startup, protect memory->cfd.cfd_start initialization from + gc + + -- Camm Maguire Mon, 05 Aug 2013 17:38:22 +0000 + +gcl (2.6.7+dfsga-38) unstable; urgency=high + + * robustify near oom handling to fix axiom compile of EXPEXPAN on mips + + -- Camm Maguire Fri, 02 Aug 2013 16:25:16 +0000 + +gcl (2.6.7+dfsga-37) unstable; urgency=high + + * ppc64 gprof fix + + -- Camm Maguire Fri, 26 Jul 2013 23:40:14 +0000 + +gcl (2.6.7+dfsga-36) unstable; urgency=high + + * min_pagewidth=14 on mips + + -- Camm Maguire Fri, 26 Jul 2013 02:20:56 +0000 + +gcl (2.6.7+dfsga-35) unstable; urgency=high + + * latest gcc on all platforms, no gprof ppc64, -O1 ia64, -O0 alpha + + -- Camm Maguire Thu, 25 Jul 2013 14:42:48 +0000 + +gcl (2.6.7+dfsga-34) unstable; urgency=high + + * sgc link_array mark fix;rb_end across save fix;more stable gcc on older arches + + -- Camm Maguire Tue, 23 Jul 2013 17:11:23 +0000 + +gcl (2.6.7+dfsga-33) unstable; urgency=high + + * fix mark_link_array for marked sLAlink_arrayA->s.s_dbind + + -- Camm Maguire Mon, 22 Jul 2013 19:00:43 +0000 + +gcl (2.6.7+dfsga-32) unstable; urgency=high + + * protect mark_link_array in sgc + + -- Camm Maguire Sat, 20 Jul 2013 00:16:07 +0000 + +gcl (2.6.7+dfsga-31) unstable; urgency=high + + * properly clean link array on gc + + -- Camm Maguire Fri, 19 Jul 2013 20:34:34 +0000 + +gcl (2.6.7+dfsga-30) unstable; urgency=high + + * fix gcl.script compiler::link, darwin compile warnings + + -- Camm Maguire Mon, 15 Jul 2013 20:35:03 +0000 + +gcl (2.6.7+dfsga-29) unstable; urgency=high + + * fix compiler::link in presence of gcl.script + + -- Camm Maguire Mon, 15 Jul 2013 16:23:33 +0000 + +gcl (2.6.7+dfsga-28) unstable; urgency=high + + * install unixport/gcl.script + + -- Camm Maguire Sat, 13 Jul 2013 18:42:28 +0000 + +gcl (2.6.7+dfsga-27) unstable; urgency=high + + * workaround for ia64 and hurd brk issues + + -- Camm Maguire Fri, 12 Jul 2013 21:44:54 +0000 + +gcl (2.6.7+dfsga-26) unstable; urgency=high + + * -- command line support, map-shared in unexec + + -- Camm Maguire Fri, 12 Jul 2013 00:52:35 +0000 + +gcl (2.6.7+dfsga-25) unstable; urgency=high + + * alpha, mips, 68k + + -- Camm Maguire Wed, 10 Jul 2013 18:29:37 +0000 + +gcl (2.6.7+dfsga-24) unstable; urgency=high + + * sgc and reloc fixes + + -- Camm Maguire Mon, 08 Jul 2013 13:56:33 +0000 + +gcl (2.6.7+dfsga-23) unstable; urgency=high + + * fix for maxima on kfbsd and sparc + + -- Camm Maguire Wed, 03 Jul 2013 19:19:16 +0000 + +gcl (2.6.7+dfsga-22) unstable; urgency=high + + * fix stack definition issues on i386 + + -- Camm Maguire Tue, 02 Jul 2013 18:27:54 +0000 + +gcl (2.6.7+dfsga-21) unstable; urgency=high + + * near out of memory robustification + + -- Camm Maguire Tue, 02 Jul 2013 15:32:58 +0000 + +gcl (2.6.7+dfsga-20) unstable; urgency=high + + * fix 3GB workaround for gprof + + -- Camm Maguire Fri, 21 Jun 2013 11:09:01 -0400 + +gcl (2.6.7+dfsga-19) unstable; urgency=high + + * work around 3GB personality/alloca/malloc bug + + -- Camm Maguire Fri, 21 Jun 2013 02:46:49 +0000 + +gcl (2.6.7+dfsga-18) unstable; urgency=high + + * alpha NULL_OR_ON_C_STACK, attempt to get 32 immfix space with + ADDR_LIMIT_3GB|ADDR_COMPAT_LAYOUT personality, clean compile with no + immfix + + -- Camm Maguire Thu, 20 Jun 2013 20:24:29 +0000 + +gcl (2.6.7+dfsga-17) unstable; urgency=high + + * small optimizations, #= nil fix + + -- Camm Maguire Wed, 19 Jun 2013 16:23:27 +0000 + +gcl (2.6.7+dfsga-16) unstable; urgency=high + + * no linker script on hurd;fix OBJ_ALIGN + + -- Camm Maguire Thu, 13 Jun 2013 15:35:00 +0000 + +gcl (2.6.7+dfsga-15) unstable; urgency=high + + * ia64 fix + + -- Camm Maguire Thu, 13 Jun 2013 02:38:47 +0000 + +gcl (2.6.7+dfsga-14) unstable; urgency=high + + * eliminate maxpage/dbegin, restore windows and macosx builds + + -- Camm Maguire Wed, 12 Jun 2013 21:42:29 +0000 + +gcl (2.6.7+dfsga-13) unstable; urgency=low + + * ia64/hurd/s390 and SGC + + -- Camm Maguire Sun, 09 Jun 2013 00:23:51 +0000 + +gcl (2.6.7+dfsga-12) unstable; urgency=low + + * ia64/hurd/s390 + + -- Camm Maguire Sat, 08 Jun 2013 15:24:46 +0000 + +gcl (2.6.7+dfsga-11) unstable; urgency=high + + * 2.6.9 test + + -- Camm Maguire Fri, 07 Jun 2013 21:46:41 +0000 + +gcl (2.6.7+dfsga-10) unstable; urgency=high + + * output mips make bug text to stderr + + -- Camm Maguire Sat, 25 May 2013 12:24:35 +0000 + +gcl (2.6.7+dfsga-9) unstable; urgency=high + + * mips make bug workaround + + -- Camm Maguire Wed, 22 May 2013 14:23:43 +0000 + +gcl (2.6.7+dfsga-8) unstable; urgency=high + + * revert doubled default maxpage + * export *read-eval* + + -- Camm Maguire Tue, 21 May 2013 14:42:05 +0000 + +gcl (2.6.7+dfsga-7) unstable; urgency=high + + * export ansi symbols + + -- Camm Maguire Sat, 11 May 2013 21:36:56 +0000 + +gcl (2.6.7+dfsga-6) unstable; urgency=high + + * fast hash-equal in compiler + + -- Camm Maguire Sat, 11 May 2013 19:11:42 +0000 + +gcl (2.6.7+dfsga-5) unstable; urgency=high + + * Bug fix: "FTBFS: cp: cannot stat + 'debian/tmp/usr/share/info/gcl-si.info': No such file or + directory", thanks to Lucas Nussbaum (Closes: #707490). + + -- Camm Maguire Fri, 10 May 2013 18:09:14 +0000 + +gcl (2.6.7+dfsga-4) unstable; urgency=high + + * sgc-on fix with latest gcc + + -- Camm Maguire Tue, 23 Apr 2013 18:45:11 +0000 + +gcl (2.6.7+dfsga-3) unstable; urgency=high + + * hash depth bug fix + * new s390 reloc + + -- Camm Maguire Thu, 24 Jan 2013 19:46:30 +0000 + +gcl (2.6.7+dfsga-2) unstable; urgency=high + + * more arm relocs supported;check default timezone dynamically;follow + bash ~ semantics in user-homedir-pathname + + -- Camm Maguire Mon, 21 Jan 2013 18:41:06 +0000 + +gcl (2.6.7+dfsga-1) unstable; urgency=high + + * Acknowledge Non-maintainer upload. + (thanks David Prévot ) + * Remove unused and non DFSG-compliant gmp3/gmp.* from source. + (Closes: #695721) + * Show translated debconf templates, thanks to Denis Barbier for the + analysis and the proposed fixes. (Closes: #691946) + * trim excess digits from printed floats + + -- Camm Maguire Tue, 15 Jan 2013 20:46:25 +0000 + +gcl (2.6.7-108) unstable; urgency=high + + * Depend on emacs23 | emacsen to allow wheezy propagation + + -- Camm Maguire Mon, 08 Oct 2012 18:08:36 +0000 + +gcl (2.6.7-107) unstable; urgency=high + + * mode 644 on ucf newfile + + -- Camm Maguire Wed, 03 Oct 2012 20:38:43 +0000 + +gcl (2.6.7-106) unstable; urgency=high + + * Bug fix: "modifies conffiles (policy 10.7.3): /etc/default/gcl", + thanks to Andreas Beckmann (Closes: #688201). + + -- Camm Maguire Wed, 03 Oct 2012 16:52:10 +0000 + +gcl (2.6.7-105) unstable; urgency=high + + * restore #DEBHELPER# to postinst and postrm scripts + + -- Camm Maguire Mon, 01 Oct 2012 17:31:43 +0000 + +gcl (2.6.7-104) unstable; urgency=high + + * Bug fix: "modifies conffiles (policy 10.7.3): /etc/default/gcl", + thanks to Andreas Beckmann (Closes: #688201). + + -- Camm Maguire Mon, 01 Oct 2012 15:32:52 +0000 + +gcl (2.6.7-103) unstable; urgency=high + + * sfaslelf.c: FIX_HIDDEN_SYMBOLS + + -- Camm Maguire Wed, 22 Aug 2012 15:13:12 +0000 + +gcl (2.6.7-102) unstable; urgency=high + + * Fix hash key distribution bug, bitvector equal bug + * distinguish car position in equal-hash of lists + + -- Camm Maguire Mon, 20 Aug 2012 17:33:26 +0000 + +gcl (2.6.7-101) unstable; urgency=high + + * add alpha, ppc, ppc64, and ia64 to __builtin__clear_cache exception + list as per gcc maintainers + * lintian cleanups + + -- Camm Maguire Sat, 05 May 2012 23:18:56 +0000 + +gcl (2.6.7-100) unstable; urgency=high + + * nil case keylist support + * Bug fix: "[INTL:da] Danish translation of the debconf templates gcl", + thanks to Joe Dalton (Closes: #666528). + + -- Camm Maguire Fri, 20 Apr 2012 02:25:26 +0000 + +gcl (2.6.7-99) unstable; urgency=low + + * case default error checking + + -- Camm Maguire Fri, 23 Mar 2012 14:14:44 +0000 + +gcl (2.6.7-98) unstable; urgency=low + + * restore traditional make-sequence,make-array, and coerce, and + optimize replace, as 2.6.8 compiler is still too weak re: inlines + + -- Camm Maguire Fri, 20 Jan 2012 19:55:45 +0000 + +gcl (2.6.7-97) unstable; urgency=low + + * evade __builtin___clear_cache on hppa + * make-array;make-sequence;replace;coerce + + -- Camm Maguire Fri, 20 Jan 2012 05:13:22 +0000 + +gcl (2.6.7-96) unstable; urgency=low + + * better XDR detection; no __builtin_clear_cache on sh4 + + -- Camm Maguire Wed, 18 Jan 2012 01:32:43 +0000 + +gcl (2.6.7-95) unstable; urgency=low + + * clear_cache after mprotect + + -- Camm Maguire Tue, 17 Jan 2012 03:54:56 +0000 + +gcl (2.6.7-94) unstable; urgency=low + + * optimize unwind at O0 to workaround gcc bug; centralize on + __builtin__clear_cache when available;arm_thm_call reloc support + + -- Camm Maguire Mon, 16 Jan 2012 20:10:07 +0000 + +gcl (2.6.7-93) unstable; urgency=low + + * remove C_GC_OFFSET for sparc64 + * remove ncurses dependency for readline + * Bug fix: "FTBFS: dpkg-buildpackage: error: dpkg-source -b gcl-2.6.7 + gave error exit status 2", thanks to Didier Raboud (Closes: #643131). + * Bug fix: "drops readline support if rebuilt", thanks to Sven Joachim + (Closes: #646735). + * lower opts on sparc64 asof gcc 4.6.1 + + -- Camm Maguire Wed, 11 Jan 2012 21:04:23 +0000 + +gcl (2.6.7-92) unstable; urgency=low + + * remove gprof on arm as mcount calls are 24/22bit -- marginally + accessible + + -- Camm Maguire Sat, 07 Jan 2012 02:42:06 +0000 + +gcl (2.6.7-91) unstable; urgency=low + + * s390x reloc support + * lower C optimization on ia64, arm and mips for now + + -- Camm Maguire Thu, 05 Jan 2012 17:30:01 +0000 + +gcl (2.6.7-90) unstable; urgency=low + + * libtirpc check for newest glibc + * read_preserving_whitespace fix + * armhf reloc support + * s390x support + * try C_GC_OFFSET for sparc64 + + -- Camm Maguire Wed, 04 Jan 2012 19:51:13 +0000 + +gcl (2.6.7-89) unstable; urgency=low + + * support new mips relocs + * lower opt to work around gcc 4.6 bug on arm + + -- Camm Maguire Wed, 11 May 2011 20:06:04 +0000 + +gcl (2.6.7-88) unstable; urgency=low + + * Bug fix: "FTBFS: gcl_arraylib.c:4:42: error: 'VV' undeclared + (first use in this function)", thanks to Lucas Nussbaum (Closes: + #625032). + + -- Camm Maguire Mon, 09 May 2011 16:00:21 +0000 + +gcl (2.6.7-87) unstable; urgency=low + + * mips reloc fix;configure default dlopen fix;clean rules and makefiles + + -- Camm Maguire Fri, 05 Nov 2010 13:29:05 +0000 + +gcl (2.6.7-86) unstable; urgency=low + + * remove binutils subdir, configure and make changes + + -- Camm Maguire Thu, 04 Nov 2010 17:55:48 +0000 + +gcl (2.6.7-85) unstable; urgency=low + + * fix mips relocs for non-static clines + + -- Camm Maguire Tue, 02 Nov 2010 13:56:40 +0000 + +gcl (2.6.7-84) unstable; urgency=low + + * better mips relocs, fix link on mingw32 + + -- Camm Maguire Sat, 30 Oct 2010 00:07:39 +0000 + +gcl (2.6.7-83) unstable; urgency=low + + * fix alpha stubs; fix sparc64 typo; print armhf relocs + + -- Camm Maguire Thu, 28 Oct 2010 13:43:16 +0000 + +gcl (2.6.7-82) unstable; urgency=low + + * mips64 fixes + + -- Camm Maguire Tue, 26 Oct 2010 18:20:04 +0000 + +gcl (2.6.7-81) unstable; urgency=low + + * sparc64;mips64 + + -- Camm Maguire Tue, 26 Oct 2010 03:33:52 +0000 + +gcl (2.6.7-80) unstable; urgency=low + + * alpha stubs; sgc mips kernel bug test; mips GPREL32 reloc + + -- Camm Maguire Mon, 25 Oct 2010 19:52:51 +0000 + +gcl (2.6.7-79) unstable; urgency=low + + * mips ld_bind_now, disable sgc workaround mips SIGBUS bug + + -- Camm Maguire Wed, 20 Oct 2010 15:31:59 +0000 + +gcl (2.6.7-78) unstable; urgency=low + + * mips local got relocs + + -- Camm Maguire Tue, 12 Oct 2010 17:15:35 +0000 + +gcl (2.6.7-77) unstable; urgency=low + + * workaround gcc alpha bug + * fix alpha reloc + + -- Camm Maguire Fri, 01 Oct 2010 21:25:11 +0000 + +gcl (2.6.7-76) unstable; urgency=low + + * fix page_multiple usage for runtime pagesize variance and stable mipsel builds + * sparc64 support + + -- Camm Maguire Fri, 01 Oct 2010 19:18:47 +0000 + +gcl (2.6.7-75) unstable; urgency=low + + * fix alpha bug + + -- Camm Maguire Tue, 28 Sep 2010 20:23:21 +0000 + +gcl (2.6.7-74) unstable; urgency=low + + * fix alpha relocs for axiom + + -- Camm Maguire Tue, 28 Sep 2010 16:07:38 +0000 + +gcl (2.6.7-73) unstable; urgency=low + + * sparc reloc updates + * fast-link fix + + -- Camm Maguire Fri, 24 Sep 2010 19:23:16 +0000 + +gcl (2.6.7-72) unstable; urgency=low + + * remove unused symbols from gcl_cmpopt.lsp + * reloc updates + * clear gcc warning + * default tilde expansion to HOME env in absence of passwd + * configure typo fix + + -- Camm Maguire Wed, 22 Sep 2010 19:32:52 +0000 + +gcl (2.6.7-71) unstable; urgency=low + + * print sparc64 relocs + + -- Camm Maguire Sat, 28 Aug 2010 14:50:00 +0000 + +gcl (2.6.7-70) unstable; urgency=low + + * sparc64/m68k + + -- Camm Maguire Fri, 27 Aug 2010 16:54:11 +0000 + +gcl (2.6.7-69) unstable; urgency=low + + * Bug fix: "non-standard gcc/g++ used for build (gcc-4.3)", thanks to + Matthias Klose (Closes: #594280). + + -- Camm Maguire Thu, 26 Aug 2010 19:08:39 +0000 + +gcl (2.6.7-68) unstable; urgency=low + + * ppc/mips elf reloc fixes + + -- Camm Maguire Mon, 23 Aug 2010 20:54:30 +0000 + +gcl (2.6.7-67) unstable; urgency=low + + * Fix compiler::link ansi combo + + -- Camm Maguire Sat, 21 Aug 2010 02:05:37 +0000 + +gcl (2.6.7-66) unstable; urgency=low + + * ppc autobuild fix + * Bug fix: "FTBFS: sfasli.c:139: error: invalid initializer", thanks to + Lucas Nussbaum (Closes: #593037). + * Bug fix: "FTBFS on powerpc: Error: The function TK::GET-AUTOLOADS is + undefined.", thanks to Mehdi Dogguy (Closes: #593191). + + -- Camm Maguire Fri, 20 Aug 2010 01:25:09 +0000 + +gcl (2.6.7-65) unstable; urgency=low + + * autobuilder fixes + + -- Camm Maguire Sat, 14 Aug 2010 11:30:46 +0000 + +gcl (2.6.7-64) unstable; urgency=low + + * configure fix + + -- Camm Maguire Fri, 13 Aug 2010 23:26:07 +0000 + +gcl (2.6.7-63) unstable; urgency=low + + * macosx support, ppc, i386 and x86_64 -- sfaslmacho.c + * windows/wine support -- sfaslcoff.c + * better custreloc support obviating my_plt -- sfaslelf.c + * debian default custreloc build where supported, all but ia64 and hppa + * fix mingw/wine path issues + + -- Camm Maguire Fri, 13 Aug 2010 16:08:49 +0000 + +gcl (2.6.7-62) unstable; urgency=high + + * more stable sgc detection via h/tsgc.h + * fix plt.h bug on hppa + * sublis1-inline fix for acl2 + + -- Camm Maguire Mon, 26 Jul 2010 16:03:54 +0000 + +gcl (2.6.7-61) unstable; urgency=high + + * mac osx support + * fix undef sgc bug in cmpinclude.h + + -- Camm Maguire Tue, 20 Jul 2010 14:50:19 +0000 + +gcl (2.6.7-60) unstable; urgency=high + + * fix sh4 support + + -- Camm Maguire Thu, 29 Apr 2010 18:09:04 +0000 + +gcl (2.6.7-59) unstable; urgency=high + + * fix hurd support + + -- Camm Maguire Fri, 23 Apr 2010 17:12:54 +0000 + +gcl (2.6.7-58) unstable; urgency=high + + * hurd support + * sh4 support + + -- Camm Maguire Fri, 23 Apr 2010 05:09:29 +0000 + +gcl (2.6.7-57) unstable; urgency=high + + * static function pointer wrapper for gcl_gmp_allocfun, stabilizing gmp + on hppa/ia64 + + -- Camm Maguire Mon, 12 Apr 2010 22:28:41 +0000 + +gcl (2.6.7-56) unstable; urgency=high + + * __builtin___clear_cache on arm + * gcc-4.3 on alpha + + -- Camm Maguire Thu, 28 Jan 2010 00:32:16 +0000 + +gcl (2.6.7-55) unstable; urgency=low + + * SGC fix, debian override fix, xgcl update + * SGC fix for relocatable and contiguous gmp storage + * configure fix for arm and hppa + + -- Camm Maguire Tue, 26 Jan 2010 19:43:08 +0000 + +gcl (2.6.7-54) unstable; urgency=low + + * robustify user_match, unrandomize, read-char-no-hang for sockets + * SA_SIGINFO for 386-linux + * if cmpinclude.h is not available, use *cmpinclude-string* in compiler-pass2 + + -- Camm Maguire Wed, 20 Jan 2010 19:02:28 +0000 + +gcl (2.6.7-53) unstable; urgency=low + + * revert round ratio to nearest + + -- Camm Maguire Tue, 05 Jan 2010 03:06:59 +0000 + +gcl (2.6.7-52) unstable; urgency=low + + * SIGINFO for kfreebsd-386 + + -- Camm Maguire Mon, 04 Jan 2010 17:49:05 +0000 + +gcl (2.6.7-51) unstable; urgency=low + + * user_match exscapes once only + + -- Camm Maguire Sun, 03 Jan 2010 05:31:20 +0000 + +gcl (2.6.7-50) unstable; urgency=low + + * gcc 4.4 warning cleanups + + -- Camm Maguire Thu, 31 Dec 2009 20:43:39 +0000 + +gcl (2.6.7-49) unstable; urgency=low + + * Bug fix: "/bin/sh: line 6: /bin/gcl: Permission denied", thanks to + Nobuhiro Iwamatsu (Closes: #561554). + + -- Camm Maguire Wed, 30 Dec 2009 23:04:39 +0000 + +gcl (2.6.7-48) unstable; urgency=low + + * round to nearest in ratio to double + + -- Camm Maguire Wed, 16 Dec 2009 15:01:55 +0000 + +gcl (2.6.7-47) unstable; urgency=low + + * Bug fix: "configure: error: Need zlib for bfd linking", thanks to + Cyril Brulebois (Closes: #560761). + * Bug fix: "Disfunctional maintainer address", thanks to Joerg Jaspert + (Closes: #560752). + + -- Camm Maguire Mon, 14 Dec 2009 19:06:45 +0000 + +gcl (2.6.7-46) unstable; urgency=low + + * support newer binutils with output_bfd element + * Fix 64bit interrupt bug + * reader error fix + * Ensure plt entries are not blank + * plt table reading fix + * Bug fix: "FTBFS: current binutils static libs need -lz", thanks to + Daniel Schepler (Closes: #521929). + * Bug fix: "replacing libreadline5-dev build dependency with + libreadline-dev", thanks to Matthias Klose (Closes: #553761). + * Bug fix: "crash after ctrl-C", thanks to Miroslaw Kwasniak (Closes: + #519903). + * Bug fix: "FTBFS with binutils-gold", thanks to Peter Fritzsche + (Closes: #554418). -ldl added to bfd linker args + * Bug fix: "[INTL:es] Spanish debconf template translation for gcl", + thanks to Francisco Javier Cuadrado (Closes: #508728). + * Bug fix: "[INTL:it] Italian translation", thanks to Vincenzo + Campanella (Closes: #560364). + * gcc error/warning cleanups + * fix plt table awk + + -- Camm Maguire Fri, 11 Dec 2009 17:45:14 +0000 + +gcl (2.6.7-45) unstable; urgency=high + + * proper word order detection macro, fixes armel + + -- Camm Maguire Mon, 01 Sep 2008 13:48:16 +0000 + +gcl (2.6.7-44) unstable; urgency=high + + * backoff on arm opts + * more careful handling of GCL_GPROF_START + + -- Camm Maguire Sat, 23 Aug 2008 21:28:52 +0000 + +gcl (2.6.7-43) unstable; urgency=low + + * redo unrandomize.h to enable compilation under -O2 -- FIXME; Closes: 494153 + + -- Camm Maguire Wed, 20 Aug 2008 21:18:43 +0000 + +gcl (2.6.7-42) unstable; urgency=low + + * more div/rem symbols for alpha + + -- Camm Maguire Sun, 03 Aug 2008 11:18:51 +0000 + +gcl (2.6.7-41) unstable; urgency=low + + * more div/rem symbols for arm and hppa + + -- Camm Maguire Sat, 02 Aug 2008 00:36:07 +0000 + +gcl (2.6.7-40) unstable; urgency=low + + * default gcc with pic enabled on mips/mipsel + + -- Camm Maguire Fri, 01 Aug 2008 13:28:00 -0400 + +gcl (2.6.7-39) unstable; urgency=high + + * gcc 4.2 for mips/mipsel for now + * __divdi3 et. al. symbols for ia64 and arm + * clean some compiler warnings + + -- Camm Maguire Fri, 01 Aug 2008 12:53:07 -0400 + +gcl (2.6.7-38) unstable; urgency=low + + * No infinite unrandomization loops + + -- Camm Maguire Thu, 31 Jul 2008 15:18:37 -0400 + +gcl (2.6.7-37) unstable; urgency=low + + * Non-maintainer upload to fix pending l10n issues + * Debconf templates and debian/control reviewed by the debian-l10n- + english team as part of the Smith review project. Closes: #457025 + * [Debconf translation updates] + - Portuguese. Closes: #457576 + - Czech. Closes: #457677 + - French. Closes: #458120 + - Finnish. Closes: #458255 + - Galician. Closes: #458529 + - Vietnamese. Closes: #459008 + - Russian. Closes: #459308 + - Dutch. Closes: #459541 + - German. Closes: #459887 + * [Lintian] Correct FSF address in debian/copyright + * [Lintian] Remove extra whitespaces at the end of + debian/in.gcl-doc.doc-base.tk + * [Lintian] Correct section in doc-base documents from Apps/Programming + to Programming + * Accept NMU + * Bug fix: "[INTL:sv] po-debconf file for gcl", thanks to Martin Ågren + (Closes: #492241). + * Bug fix: "gcl: FTBFS [amd64]: cannot trap sbrk", thanks to Daniel + Schepler (Closes: #487435). Modified and applied personality handling + patch. + * Bug fix: "gcl: Builds broken package with gcc-4.3", thanks to Daniel + Schepler (Closes: #467474). Added sincos to plttest.c + + -- Camm Maguire Thu, 31 Jul 2008 15:18:15 -0400 + +gcl (2.6.7-36) unstable; urgency=low + + * statsysbfd in Debian, incoporating modules into libgcl.a for + compiler::link support + + -- Camm Maguire Fri, 30 Nov 2007 12:03:31 -0500 + +gcl (2.6.7-35) unstable; urgency=low + + * drop gcc-3.4 on arm, Closes: #440421 + * Depend on emacs22 | emacsen, Closes: #440190 + * debconf translations Closes: #410683, Closes: #419736, Closes: #423706, Closes: #441408 + + -- Camm Maguire Fri, 23 Nov 2007 10:25:23 -0500 + +gcl (2.6.7-34) unstable; urgency=low + + * add read-byte,read-sequence,write-byte,write-sequence support + * fix some float parsing inaccuracies + * support GNU_HASH sections, Closes: #426135 + * safety 2 for certain low level functions in gcl_listlib.lsp, CLoses: + #415266 + + -- Camm Maguire Wed, 4 Jul 2007 16:23:25 -0400 + +gcl (2.6.7-33) unstable; urgency=low + + * Fix leading underscore behavior of my_plt + * add sqrt to plttest.c + * disable-nls added to the binutils subconfigures to avoid msgfmt + dependency + * remove -lintl from powerpc-macosx.defs + * update to make-user-init from cvs head to support hol88, fix link on + mingw + * solaris-i386 support + * fix read-char-no-hang on mingw + * fast compile without wrap-literals + * sigaltstack support + * fix cerror + + -- Camm Maguire Wed, 16 May 2007 12:45:40 -0400 + +gcl (2.6.7-32) unstable; urgency=low + + * static function pointers for hppa + + -- Camm Maguire Sun, 29 Oct 2006 02:15:13 -0500 + +gcl (2.6.7-31) unstable; urgency=low + + * no C optimization on hppa, gcc 4.x on hppa + * update cs.po, Closes: #389211 + + -- Camm Maguire Fri, 27 Oct 2006 13:06:55 -0400 + +gcl (2.6.7-30) unstable; urgency=low + + * make sure *tmp-dir* is set + * makeinfo is optional + + -- Camm Maguire Wed, 25 Oct 2006 17:37:54 -0400 + +gcl (2.6.7-29) unstable; urgency=low + + * Fix build issues on hppa and m68k + + -- Camm Maguire Sat, 21 Oct 2006 15:10:41 -0400 + +gcl (2.6.7-28) unstable; urgency=low + + * si::gettimeofday function for HOL88 build;macosx fixes + + -- Camm Maguire Wed, 18 Oct 2006 13:21:26 -0400 + +gcl (2.6.7-27) unstable; urgency=low + + * unrestricted gcc for alpha + * more default stack space + + -- Camm Maguire Tue, 17 Oct 2006 16:33:43 -0400 + +gcl (2.6.7-26) unstable; urgency=low + + * Fix large float read bug in c1constant-value + + -- Camm Maguire Mon, 16 Oct 2006 12:41:03 -0400 + +gcl (2.6.7-25) unstable; urgency=low + + * build-dep on gcc3.4 where appropriate + * Newer standards + + -- Camm Maguire Thu, 12 Oct 2006 09:37:08 -0400 + +gcl (2.6.7-24) unstable; urgency=low + + * build-dep on gcc3.4 where appropriate + * Newer standards + + -- Camm Maguire Thu, 12 Oct 2006 02:22:04 -0400 + +gcl (2.6.7-23) unstable; urgency=low + + * backoff to gcc-3.4 on alpha,arm,hppa, and m68k + + -- Camm Maguire Wed, 11 Oct 2006 10:16:59 -0400 + +gcl (2.6.7-22) unstable; urgency=low + + * HAVE_SYS_SOCKIO_H for solaris + * autolocbfd for solaris + * no -Wall when no gcc + * no -fomit-frame-pointer on m68k + * no profiling on mips + * $(AWK) instead of awk + * si::stat function + * fix 'the boolean type coersion error + * no varargs on cygwin + * while eval macro + * gensym counter fixes + * xgcl updates + + + -- Camm Maguire Fri, 15 Sep 2006 13:48:28 -0400 + +gcl (2.6.7-21) unstable; urgency=low + + * Fix socket write error + + -- Camm Maguire Wed, 6 Sep 2006 09:59:50 -0400 + +gcl (2.6.7-20) unstable; urgency=low + + * fix ia64 build + + -- Camm Maguire Thu, 31 Aug 2006 15:14:18 -0400 + +gcl (2.6.7-19) unstable; urgency=low + + * xgcl upgrade + * parse_number from cvs head with *read-base* fixes + * fix object_to_string + * install xgcl-2/sysdef.lisp + * fix info dir and emacs site lisp dir installation + * New xgcl readme + * Remove bashism from debian/rules, Closes: #376806, Closes: #385176. + * Fix dwdoc doc-base error, Closes: #385126 + + -- Camm Maguire Wed, 30 Aug 2006 12:13:46 -0400 + +gcl (2.6.7-18) unstable; urgency=low + + * remove emacs build dependency + * synch xgcl-2 with Novak edits + * fix build errors + * Remove power of two limit to MAXPAGE;fix X lib paths + * configure cleanup + * delete-file works on directories;build xgcl the old way;latest xgcl + from Gordon Novak + + -- Camm Maguire Wed, 23 Aug 2006 14:19:51 -0400 + +gcl (2.6.7-17) unstable; urgency=low + + * Bug fix: "gcl: [INTL:sv] Swedish debconf templates translation", + thanks to Daniel Nylander (Closes: #343695). + * Bug fix: "gcl: French debconf templates translation update", thanks to + Sylvain Archenault (Closes: #344629). + * clean xgcl-2/gmon.out + * cleanup latest gcc type-punning warnings + * defentry C proclamations and xgcl cleanup + + -- Camm Maguire Mon, 26 Jun 2006 16:45:09 +0000 + +gcl (2.6.7-16) unstable; urgency=high + + * Add missing build dependencies, omit html generation to avoid non-free + dependencies, CLoses: #372574. + + -- Camm Maguire Mon, 19 Jun 2006 14:05:59 +0000 + +gcl (2.6.7-15) unstable; urgency=low + + * Use internal gettext for bfd + * Restore xgcl2 + * Set compiler::*tmp-dir* at runtime + * report tmp-dir setting with system-banner to enable clean -eval - + batch operation; fix listen on socket streams; use (abs (getpid)) in + tmp names for Windows + * fix configure unbalanced quotes + * support for bignums in nth et.al. + * Fix branch cut of atanh + * Fix typep on simple-arrays + * prevent nested free errors + * revert atanh branch cut change + * Fix function documentation wrapping by compile + * cond evalmacro from cvs head + * Fix fixnum declarations in new smallnthcdr/bignthcdr + * fix simple-array typep + * updates for lsp/sys-proclaim + * xgcl integration + + -- Camm Maguire Fri, 9 Jun 2006 17:52:22 +0000 + +gcl (2.6.7-14) unstable; urgency=low + + * Add mount declaration to plt.c + + -- Camm Maguire Sun, 18 Dec 2005 12:56:51 +0000 + +gcl (2.6.7-13) unstable; urgency=low + + * Add feof to plttest.c for macosx + * plt related fixes for macosx + * fix configure + * Cleanup LEADING_UNDERSCORE case in plt.c et.al for macosx et.al. + * pass devices if present in compiler::get-temp-dir, fix disassemble + for new gazonk name pattern + + -- Camm Maguire Sat, 17 Dec 2005 15:22:40 +0000 + +gcl (2.6.7-12) unstable; urgency=low + + * Fix read-char-no-hang + * Strip emacs warnings when finding site-lisp directory + * mach-o update for latest binutils + * Latext bfd mach-o support from Aurelien + * revert to locbfd default on ppc-macosx + * More ppc macosx fixes from Aurelien + * revert a few macosx changes + * default to void * prototype on my_sbrk for latest macosx pending + Aureliens #ifdef + * Fix plt.h parsing on macosx + * Fix leading_underscore detection on mac + * macosx name mangling fixes + * multi-process safe gazonk names in compiler::*tmp-dir* + * Add underscore-mangled setjmp calls to plttest.c for macosx + * Fix POTFILES.in, Closes: #336207. + * Update templates, Closes: #324636 + * New French and Swedish translations, Closes: #333654, Closes: #336757. + + -- Camm Maguire Wed, 14 Dec 2005 18:52:49 +0000 + +gcl (2.6.7-11) unstable; urgency=low + + * Remove gcc-3.3 for arm in debian/rules + * make default maxpage depend on SIZEOF_LONG and PAGEWIDTH in a sane + fashion + + -- Camm Maguire Thu, 20 Oct 2005 00:08:37 +0000 + +gcl (2.6.7-10) unstable; urgency=low + + * Fix long-call gcc configure bug for ppc, add fdollars in + identifiers on arm + * remove gcc restrictions on arm + * revert 64bit coersion (gmp_big.c, maybe_replace_big) and replace with + code in siLnani (main.c) to get addresses from bignums. 2.7.0 will + have 64bit fixnums on 64bit machines, but this should not be + backported to 2.6.x + + -- Camm Maguire Wed, 12 Oct 2005 23:11:12 +0000 + +gcl (2.6.7-9) unstable; urgency=low + + * 64bit fixnum fasd data format fix from cvs head + + -- Camm Maguire Wed, 5 Oct 2005 18:49:50 +0000 + +gcl (2.6.7-8) unstable; urgency=low + + * Fix 64bit fixnum coersion bug using code from cvs HEAD + + -- Camm Maguire Fri, 30 Sep 2005 22:14:38 +0000 + +gcl (2.6.7-7) unstable; urgency=high + + * Scan .o file for init name when using dlopen + * Set init name using .o file instead of source file by default + * wrap-literals function from cvs head to allow optimizations using + compile or compile-file + * ADDR_NO_RANDOMIZE fix + + -- Camm Maguire Thu, 29 Sep 2005 17:50:56 +0000 + +gcl (2.6.7-6) unstable; urgency=high + + * Build bfd snapshot locally, Closes: #318681 + + -- Camm Maguire Tue, 20 Sep 2005 17:53:17 +0000 + +gcl (2.6.7-5) unstable; urgency=high + + * gcc-3.3 for arm + + -- Camm Maguire Thu, 15 Sep 2005 20:33:00 +0000 + +gcl (2.6.7-4) unstable; urgency=high + + * gcc 3.4 on arm to work around reserved '$' identifiers. + * gcl: French translation update + * French translation added, Closes: #325214 + * Czech translation added, Closes: #325869 + + -- Camm Maguire Thu, 15 Sep 2005 13:45:11 +0000 + +gcl (2.6.7-3) unstable; urgency=low + + * static wraper for compiled_regexp for ia64 + + -- Camm Maguire Sat, 10 Sep 2005 11:26:37 +0000 + +gcl (2.6.7-2) unstable; urgency=high + + * rebuild against libgmp3c2, Closes: #323765 + * 2.6.7 fixes all gcc 4.0 issues. Closes: #323979 + + -- Camm Maguire Wed, 24 Aug 2005 00:44:48 +0000 + +gcl (2.6.7-1) unstable; urgency=high + + * Fix (listen) with readline on + * fix control-d with readline + * libreadline5 support for Debian + * Support for pre-compiled regexps and new texinfo format + * Reenable run-process + * Push function 'accept into lisp, use select for 'listen on socket + streams + * New Upstream release version + * Native-reloc feature + * Add daemon capabilities to server sockets, document socket and + accept + * Some gcl-tk fixes + * Update wrapt-literals strategy to be consistent with CVS head -- + wrap evreything but symbols and integers, don't wrap when keeping + the gazonk files for linking in different images, this is really a + compile-file operation + * gcltk demo cleanups + * Probe-file, open_stream, and the like fail on directories + * Resolve symlinks in truename + * Place prototypes for defcfun in header files + * Support for unique init names for compiler::link and the like + * libreadline5 for Debian + * remove _o from init-names + * gcc-4.0 fixups + * Bug fix: "gcl: depends on binutils-dev <<= 2.1.5-999), so + uninstallable in unstable", thanks to Steve Langasek (Closes: + #318681). Rebuild with new release to autocompute this dep + * Bug fix: "gcl: Please switch to po-debconf", thanks to Lucas Wall + (Closes: #295930). Apply po-debconf patch + * Newer standards + + -- Camm Maguire Thu, 11 Aug 2005 15:00:26 +0000 + +gcl (2.6.6-1) unstable; urgency=high + + * New upstream release + * Allow .data section to be first in executable, as on solaris. Also + allow for new bfd section size semantics + * Don't try to write map file when not using GNU ld. Also allow + compile-file to process pathnames with whitespace on Windows + * Fix corner case fixnum arithmetic on 64bit machines + * Rework gmp_wrappers semantics for older gcc + * Explicitly mprotect loaded code pages PROT_EXEC on x86 Linux, as FC3 + now requires it. + * lisp-implementation-version is GCL + * Reader extension patch allowing for foo::(bar foobar) semantics + * a shell script variable fix in "unixport/makefile" for MSYS + * __MINGW32__ malloc initialisation fix in "o/alloc.c" + * Windows file/directory fixes in "o/unixfsys.c" + * MinGW32 -march in configure - removes deprecation warnings + * MinGW32 directory fix - "o/mingfile.c". + * Allow for sysconf to determine clock granularity at compile time to + fix time errors on the Itanium + * Disable SGC on macosx until the sgc/save problem can be fixed. + * Fix fixnum print bug on 64bit + * Fix nil types in room report + * 64bit fixes to fixnum_add and fixnum_sub + * Fix Mac SGC/save bug, at least in part + + -- Camm Maguire Sun, 16 Jan 2005 02:28:50 +0000 + +gcl (2.6.5-1) unstable; urgency=high + + * New gmp_wrappers.{c,h} files that prevent all GBC within gmp, + obviating the need for gmp patches and a local gmp configure. FIXME + -- extend to all gmp functions in a systematic way, and write header + information for future use in the compiler, making sure that plt.c + carries the needed gmp symbols at this point + * Build support for gmp_wrappers + * Support for gmp_wrappers in alloc_relblock/alloc_contblock;Support + for GCL_GPROF_START define in gprof functions + * dynsysgmp on by default; configure backs off to local gmp configure + and build automatically if needed either because gmp not present or + patched symbols are needed; autodetect and set the _start symbol + when using gprof + * Fix (setf (get ...) ...) return bug when interpreted + * Fix overwrite end of sgc_type_map bug + * Versioned depends on binutils-dev manually installed by Debian build + process + * New upstream release + * Proper binutils dependency for Debian + * head -1l -> head -n 1 for freebsd + * Cleanup gmp_wrapper code, check for in-place calls as write in one + step is not guaranteed in gmp according to its developers + * Rebuild against binutils 2.15, Closes: #266253, Closes: #263983 + + -- Camm Maguire Tue, 17 Aug 2004 18:22:27 +0000 + +gcl (2.6.4-1) unstable; urgency=high + + * New upstream release + * Make disassemble work when original system directory is gone + * New debian/support files for debconf image default selection support + * More descriptive compiled C function names for use in gprof when + profiling is compiled in + * Compiler fix for proclaimed vararg functions + * Allow sharp numbers to be bignums + * lintian fix in string-match + * Prototype for alloca for lint + * Improve gprof support + * Improve sgc page allocation which optimize-maximum-pages is in + effect and the hole is overrun + * Build a profiling set of images as well for Debian, toggle between + all four by default via debconf + * reset-sys-paths lisp function for moving image installation + directories, show profiling support in banner if present + * Fix typo in sys docs + * reset sys paths on installation + + -- Camm Maguire Thu, 5 Aug 2004 22:48:56 +0000 + +gcl (2.6.3-1) unstable; urgency=high + + * Correctly parse gcc version strings in gmp3 subconfigure on arm + * Fix variable capture error in dotimes macro + * Better sed separator for LI-CC in unixport/makefile + * Fix segfault in string-match + * vs_top=sup -> (reset-top) where possible in compiler. FIXME: a few + items of a different form which need to set *sup-used* too. + * Correct room report to show proper percentages when sgc is on + * Read in RELOC environment variable if set as default in debian/rules + * Remove local bfd libraries from libs variables as their objects are + incorporated into libgcl and as the source directory may not be + available at runtime + * Remove pcl/pcl_gazonk*lsp build-generated files from source + + -- Camm Maguire Thu, 15 Jul 2004 14:26:44 -0400 + +gcl (2.6.2-3) unstable; urgency=low + + * Fix value stack leak in rare compiled call sequence + + -- Camm Maguire Tue, 13 Jul 2004 10:17:02 -0400 + +gcl (2.6.2-2) unstable; urgency=low + + * New upstream point release + + -- Camm Maguire Tue, 13 Jul 2004 10:08:53 -0400 + +gcl (2.6.2-1) unstable; urgency=low + + * gcc-3.4 support + * Proper isnormal default courtesy of Magnus Henoch + * gclclean makefile target and other small makefile changes + * Proper check for C stack array body address in gbc.c and sgbc.c + * New upstream release + * acconfig.h update for isnormal default + * Fix bug in setting elements (si::aset) of 0 rank arrays uncovered by + the random tester + * No -fomit-frame-pointer on mingw + * Backport minimal ansi-test patches from HEAD to enable running of + the random tester + * installed tcl/tk patch for mingw + * Fix banner license detection code in lsp/gcl_mislib.lsp as + 8features* entries are now keywords + * o/makefile changes to work around trailing slash -I arguments gcc + bug on mingw + * Patch to mingwin.c:fix_filename to close long standing 'maxima + ignore-errors filename corruption' bug on mingw + * Check for too large rank supplied to make-array1 + * Fix potential stack overwrite bug in quick_call_sfun/eval.c + * Add -mprferred-stack-boundary=8 on amd64, as constant integers used + in a call must be retrievable with va_arg(,fixnum) + * Revert preferred-stack-boundary option on amd64 as it does not play + well with external libraries, also eliminate -m64 to allow for user + settings. Cast fixnum constant C arguments in gcl_cmploc.lsp + explicitly to (long) to ensure they can be extracted via + va_arg(,fixnum) + * reenable SA_SIGINFO on amd64 to restore SGC there + * Include elf.h in FreeBSD.h + * Allow for elf_abi.h in FreeBSD.h + * Add README.openbsd file + * readme.mingw updates + * solaris.h updates for custreloc option + * Close possibility of malloc failure due to intervening gbc arising + from the misordering of allocation calls + * C_GC_OFFSET is 2 on m68k-linux + * Add release notes, remove gcl document presumably based on dpANS for + now + * Fixup bad extern declaration of signals_handled in usig.c + + -- Camm Maguire Fri, 25 Jun 2004 22:43:52 +0000 + +gcl (2.6.1-39) unstable; urgency=high + + * Fix segfault in referencing (sgc_)type_map out of bounds which can + occurr when C stack is below heap, as on alpha. + * Cleanup compiler warnings on bcmp.c bzero.c and bcopy.c + * Clean up compiler warning in file.d + * Ensure set TLDFLAGS are used in finding DBEGIN in copnfigure.in, for + OpenBSD + + -- Camm Maguire Fri, 7 May 2004 21:50:03 +0000 + +gcl (2.6.1-38) unstable; urgency=low + + * Make *features* entries keywords -- add canonical host cpu and + kernel-system to *features*, disable h files specific + ADDITIONAL_FEATURES macro in main.c + * Fix merge-pathanames bug in concatenating default and supplied + directory lists + * Minor pathname and *features* fixes + * Fix recently introduced configure.in syntax bug + * Minor patches to support big gcl images -- all page integers must be + long ints, need stack space limits that scale with MAXPAGES at least + to allow free_map stack array in sgc_start. FIXME -- right now can + handle situations where page numbers are ints, but npage*PAGESIZE is + a long, need to handle npage >MAX_INT later. This is to support the + 'billion cons element acl2 image' requested by a gcl user + * Revert winnt features and debugging aids in configure.in + * OpenBSD support, gcc warning cleanups for long page integers + + -- Camm Maguire Mon, 3 May 2004 21:34:57 +0000 + +gcl (2.6.1-37) unstable; urgency=high + + * mprotect pages PROT_EXEC as CLEAR_CACHE step on amd64-linux + * Prevent recursive malloc calls for OpenBSD error reporting + * Push dummy 0 time for child runtime on windows to be compatible with + other platforms for now + * Make sure pages are mprotected PROT_EXEC for amd64 support + + -- Camm Maguire Tue, 13 Apr 2004 21:00:22 +0000 + +gcl (2.6.1-36) unstable; urgency=low + + * Improve optimize-maximum-pages algorithm + + -- Camm Maguire Tue, 6 Apr 2004 03:23:40 +0000 + +gcl (2.6.1-35) unstable; urgency=low + + * Fix sigcontext autodetection on sparc + + -- Camm Maguire Sun, 4 Apr 2004 19:26:48 +0000 + +gcl (2.6.1-34) unstable; urgency=low + + * Fix GNU_LD autodetection in configure.in + * Eliminate C_INCLUDE_PATH from shell script wrapper + * Use lisp rather than 'system touch' to make empty map file in + compiler::link + * fix small bug when info is passed bad second argument + * Don't try to open map file if doesn't stat (macosx) + * Add earlier forgotten branch patch to sfaslbfd.c for macosx + * Backport new eval-when keyword support from 2.7 to run random tester + * Perhormance improvement to gcl_seqlib.lsp -- no inner loop over + bignums + * Proper contblock/relblock determination when expanding string + streams + * Proper string type determination for *link-array* + * .ini files depend on plt.h + * plttest.c cannot depend on include.h + * Address longstanding FIXmE in gensym, so that two strings are not + allocated for each gensym + * Fix rare infinite loop bug in array.c + * Import si::info into 'user + * , -> # as sed separator + * Minro warning removals and fixups + * Binary searches through ordered arrays of referred and changed + variables for dramatic compiler performance improvement in the large + case -- support declarations and thereby optimizations of the form + (declare ((vector t) foo)), etc. + * Better 'time macro + * rebuild pcl_gaz* files + * cleanup room report and give more space to modern large heaps + * room report formatting + * Properly gensymmed time macro + * Allow for white space chars in compiled filenames + * Autodetect and work around sbrk randomization, e.g. on Fedora 1 + * Probe for sbrk before probing for randomized sbrk + * Openbsd changes -- maximize data seg resource if possible, avoid + mallocing error message when allocation routines fails + * Fix sigcontext configure tests + * Rename loop-finish -> sloop-finish in sloop package so that sloop + and ansi loop can be used simultaneously + * Handle arguments which are zero in LCM + * Fix typo in configure.in + * Improved dotimes macro which avoids unnecessary fixnum garbage + generation + * Backport of ignorable declaration keyword for new dotimes macro + * si::*OPTIMIZE-MAXIMUM-PAGES* support + * rebuild pcl generated lisp files + + -- Camm Maguire Sat, 3 Apr 2004 19:27:18 +0000 + +gcl (2.6.1-33) unstable; urgency=low + + * Remove extraneous symbols from plt.h, autodetect and correct for + leading underscore in object symbols + * complete readline version detection commit + * Backport support for new eval-when keywords + * Autodetect GNU ld and add -Wl,-Map only when appropriate + + -- Camm Maguire Wed, 10 Mar 2004 22:51:44 +0000 + +gcl (2.6.1-32) unstable; urgency=low + + * Try to automatically determine the form used for the explicitly + compiled in external function addresses in plt.c + * No need to explicitly write cr-lf on windows + * Autodetection of machine on FreeBSD + * Updated defs and h files for FreeBSD courtesy of Mark Murray + * Minor ifdefs needed for FreeBSD + * Refer to exported non-static C stub of fSmake_vector1 in plt.c + (needed on ia64) + * Readline 4.1/4.3 configure magic + + -- Camm Maguire Tue, 9 Mar 2004 01:58:43 +0000 + +gcl (2.6.1-31) unstable; urgency=low + + * Adjustments to vs_top reset logic to clear (hopefully last) + remaining bug found by the random-tester + * Allow args-info-referred-vars to match replaced vars, clearing bug + report submitted by Matt Kauffman + * Rework plt code yet again to be compatible with compiler::link for + axiom, and mingw32 + + -- Camm Maguire Mon, 8 Mar 2004 12:16:46 +0000 + +gcl (2.6.1-30) unstable; urgency=low + + * Fix rsym generated symbol tables for 64 bit platforms + * Make sure 'unwind' in frame.c does nt go below frs_org + * Do not define symbols with no value, either in bfd/rsym, or in + plt.c. Generates a clear and explicit error of an undefined symbol + when we've missed an address + * Define the external symbols known to be written at present in plt.c + * fix some more compiler errors found by the random tester -- all + related to proper unwinding of temporary reductions of vs_top from + te local supremum + + -- Camm Maguire Sat, 6 Mar 2004 02:05:59 +0000 + +gcl (2.6.1-29) unstable; urgency=low + + * Remove implicit dependency on gawk, optimize plt.c a little + + -- Camm Maguire Wed, 3 Mar 2004 16:08:30 +0000 + +gcl (2.6.1-28) unstable; urgency=low + + * make sure bfd fasload initializes dum.sm.sm_object1 for + read_fasl_vector + * When a tagbody contains ccb reference tags, and hence i itself + marked ccb, mark all the clb tags therein ccb too, as the tagbody + environment will be consed in c2tagbody-ccb. FIXME -- review this + logic carefully + * fix typoe in o/sfaslbfd.c + * Add code to unwind redefinitions of the stack supremum in c2expr-top + (used in c2multiple-value-prog1 and c2multiple-value-call in + evaluating arguments) on non-local exit + * Use new temporarry variables holding lisp stack supremum for lint + * Eliminate extraneous warning message when allocating fewer pages + than already allocated + * Rework internal plt symbol address capture + * Cleanup sfaslelf compiler warning + + -- Camm Maguire Wed, 3 Mar 2004 00:27:08 +0000 + +gcl (2.6.1-27) unstable; urgency=low + + * Modify default banner slightly + * Homebrew plt-like mechanism for ensuring that valid internal + addresses exist to which undefined symbols in compiled lisp objects + referring to external shared libraries can be relocated + * Make configure demand gettext when choosing --enable-locbfd + * Make sure references to ldb1, a stub conventionally optimized away, + can be resonled when optimization is turned off + * completion_matches -> rl_completion_matches in gcl_readline.d, + which is what is exported in the headers + + -- Camm Maguire Fri, 27 Feb 2004 23:50:49 +0000 + +gcl (2.6.1-26) unstable; urgency=low + + * Rework compiler::*ld-libs*, compiler::link, and unixport/makefile to + accomodate mingw need for firstfile.o and lastfile.o + * Remove incompatible -fomit-frame-pointer when compiling with -pg + profiling + * Load sys-proclaim.lisp files forimproved linking and smaller object + size across the board, install same for use with compiler::link + * Use pathnames instead of strings in compiler::link, also in image + init files, for Windows + * small mod to unixport/makefile re filtering of firstfile and + lastfile + * Backport zero divisor error cnditions from HEAD for + floor,ceiling,truncate + * Default to debug mode on hppa to work around gcc compiler + optimization bugs + * Add missing m4 and automake files in binutils directory to enable + automake and autoconf here + * Add mach-o specific files from cvs head to local bfd tree + * Add bfd/po makefiles + * Macosx defaults in configure.in + * bfd make and configure file changes to handle mach-o backend + * *gcl-version* -> *gcl-minor-version*,*gcl-extra-version* + * Support for more informative banner reading features list + * Support for both sigbus and sigsegv in sgbc.c as is customary in .h + files + * mach-o compatible changes in sfaslbfd.c + * Support for new debugging section names in sfaslelf.c + * powerpc-macosx h and defs files from cvs head + + -- Camm Maguire Wed, 25 Feb 2004 23:08:59 +0000 + +gcl (2.6.1-25) unstable; urgency=low + + * rl_putc_em a carriage return after invoking readline to ensure the + prompt in rl_putc_em_line is cleared. + * use standard sgc fault recovery element for hppa as recommended by + hppa kernel experts + * Store banner in si::*system-banner* for possible modification + in compatibly licensed programs + * exit with -1 when standard in ends in lisp debug mode + * Backport macosx files from cvs HEAD + * Document system return codes + + -- Camm Maguire Fri, 13 Feb 2004 20:44:54 +0000 + +gcl (2.6.1-24) unstable; urgency=low + + * Revert unixport/makefile link order fix for windows, breaks + compiler::link, find another way + * runtime SGC fault recovery test + * Protect read/fread in case SGC is enabled with safe (restartable) + versions + * SGC on for arm and hppa + * remove fast-link workaround now fixed for windows + * Backport HEAD makefile changes to clean .{c,h,data} files and + new_decl.h, remove said from repository (generated files) + + -- Camm Maguire Thu, 12 Feb 2004 05:56:29 +0000 + +gcl (2.6.1-23) unstable; urgency=low + + * Remove calls to init-readline with new automatic readline setup + + -- Camm Maguire Tue, 27 Jan 2004 20:27:20 +0000 + +gcl (2.6.1-22) unstable; urgency=low + + * Build depend on emacs21 | emacsen + + -- Camm Maguire Fri, 23 Jan 2004 22:01:15 +0000 + +gcl (2.6.1-21) unstable; urgency=low + + * Automatic readline initialization + * Add watch file + * Prevent circular error loops + * Prevent automatic optimization added to CFLAGS by autoconf + * Rework documentation installation in and outside of Debian + * Support user deined predicates at an elementary level in the form + '(satisfies foop) in gcl_predlib.lsp + * Install binary gcd algorithm for ~10% performance increase + * Rescale some default allocation parameters -- bignum allocation by + relblocks by default, default growth parameters are 1 (min), + 0.1*MAXPAGE (max), 0.5 (increase), 0.3 (percent free), holepage is + 4*MAXPAGE/1024, INIT_HOLEPAGE, INIT_NRBPAGE and RB_GETA scale + accordingly + * Clean windows/sysdir.bat + * Check for zero args in new gcd code + * Default hole is maxpages/10, holesize configure option added + * Fix syntax errors in older reloaction code: sfaslelf.c + + -- Camm Maguire Fri, 16 Jan 2004 16:57:50 +0000 + +gcl (2.6.1-20) unstable; urgency=low + + * Fix gcl-doc doc-base files + + -- Camm Maguire Tue, 30 Dec 2003 22:30:39 +0000 + +gcl (2.6.1-19) unstable; urgency=low + + * Fix bug in compiler::c2labels in which *ccb-vs* was missing a ocal + rebind + * Remove duplicate tags from compiled C switch statements + * Minor merges for DARWIN support + * Path to configure to make --enable-emacsdir work + * Check for readline/readline.h header before configuring for readline + * Improve system bfd library location detection + * Make sure external gmp lib is compatible via __GNU_MP_VERSION, else + backoff to local gmp build; prepend externally defined CFLAGS into + output CFLAGS, FINAL_CFLAGS, and NIFLAGS + * Remove --enable-gmp configure option; gmp is required for GCL + * Use --enable-emacsdir in debian/rules, make sure --enable-emacsdir + and --enable-infodir work when arg contains ${prefix} + * Fix typo in chap-6.texi + * Make sure to export SGC define from config.h to cmpinclude.h -- Now + that we used optimized structures in the compiler, we need at least + the definition of SGC_TOUCH there to prevent GBC errors. FIXME -- + handle header dependencies more robustly. Thanks to Robert Boyer + for the report + * Improve SGC define extraction for cmpinclude.h + * Fix variable reference errors which were occurring for compiled + local functions defined within closure-generating or other + environment stack pushing functions when safety is set to 3 (thanks + Paul Dietz for the report.). When constructing local functions and + closures within a 'mother' function, *ccb-vs* will hold the number + of closure environments stacked at the point of each closure + creation or call to a local function. This value is stored as the + cadr of a list pushed onto *local-funs*, and is read when writing + out the C code for the local function or closure, where it is used + to initialize *ccb-vs* and *initial-ccb-vs* for subsequent + processing. The latter is used as the reference point when + addressing variables in wt-ccb-vs, as the former could be still + further incremented within the closure or local function itself. + Local functions as opposed to closures do not increment *ccb-vs* and + do not push the environment. When a local function is defined + within a closure-generating flet/labels, or a tagbody or block which + pushes the environment, the value of *ccb-vs* written to the list + corresponding to the local function can be erroneously incremented + beyond the *initial-ccb-vs* value established before any environment + pushing operations were processed. It is this latter value which is + appropriate for use in wt-ccb-vs, as the local functions, unlike the + closures, receive an environment level with the mother generating + function. We therefore push *initial-ccb-vs* onto the end the list + pushed onto *local-funs* only when defining a local function, and use + it to initialize an added optional variable initialize-ccb-vs in + t3local-fun and t3local-dcfun, which default to the original ccb-vs. + We then bind *initial-ccb-vs* to this new optional parameter instead + of the former *ccb-vs, which was only appropriate for closures. + * Put in rudimentary logic for the selection of stack vs. heap storage + for bignums depending on the frame context. FIXME, this logic is + too conservative at present. SETQ_II and SETQ_IO take an additional + parameter which is malloc when *unwind-exit* is bound and contains + 'frame and alloca otherwise. New macro bignum-expansion-storage. + FIXME, ensure that IDECL does not need similar modification. + * Cleanup a few compiler warnings in the compiler + * Cleanup compiler warning in alloc.c + * Eliminate unneeded transformatio of contniguous pages to other pages + on save-system. + * malloc -> gcl_gmp_alloc in recent setjmp frame protected bignum + allocation + * Add -Wa,--execstack if on an exec-shield enabled system, can be + explicitly added otherwise by setting the CFLAGS variable before the + configure step + * Better execstack flag handling in configure + * Allow for commas in CFLAGS in sed command writing *cc* + * Preliminary gprof profiling support + * Rework html documentation generation and installation, Closes: + #221774 + * Remove parentheses from setf class-name info node in chap-7.texi + + -- Camm Maguire Tue, 30 Dec 2003 16:26:45 +0000 + +gcl (2.6.1-18) unstable; urgency=low + + * Portability patches to makefiles to support non-GNU grep (no -q), + and non-bash sh, C_INCLUDE_PATH=...;export C_INCLUDE_PATH + * copy the global *info* parameter in c1flet and c1labels to prevent + accumulation of old data -- FIXME -- make sure there are no other + copies required, and eventually replace this global parameter with + local variables + * Turn on some optimization on hppa, -O only + * Make all C defined functions installed into lisp static functions to + work around dynamic function descriptors on ia64, Closes: #217484, + Closes: #204789, (STATIC_FUNCTION_POINTERS define in config.h) + + -- Camm Maguire Thu, 6 Nov 2003 15:40:25 +0000 + +gcl (2.6.1-17) unstable; urgency=low + + * Repair weak symbol addition to the bfd symbol table in sfasli.c + * Be more thorough about adding fun-info to call-local info in + gcl_cmpflet.lsp, accompanying simplifications in gcl_cmpeval.lsp + (call-global lists have info updated by args already in (c1args args + info)), small changes in add-info in gcl_cmpinline.lsp, FIXME -- + study rational for *info* special variable in certain places as + opposed to more common copy-info + + -- Camm Maguire Thu, 30 Oct 2003 20:03:22 -0500 + +gcl (2.6.1-16) unstable; urgency=low + + * Fix sh syntax in debian/gcl.sh + * init_or_load1 -> gcl_init_or_load1 in xgcl-2/sysinit.lsp + * Load weak symbols as well as undefined symbols in + bfd_build_symbol_table, for the purposes of the static build + possibility + * Map t and nil stream indicators properly in optimized compiled + references to read_char1 and read_byte1 (in read.d) + + -- Camm Maguire Thu, 23 Oct 2003 16:43:15 +0000 + +gcl (2.6.1-15) unstable; urgency=low + + * Remove imod/ifloor functions in cmpaux.c and directly inline their + fixed equivalents in gcl_cmpopt.lsp + + -- Camm Maguire Mon, 13 Oct 2003 15:04:24 +0000 + +gcl (2.6.1-14) unstable; urgency=low + + * generate less garbage in add-info (gcl_cmpinline.lsp), enabling + maxima compile to complete in a finite time :-) + + -- Camm Maguire Fri, 10 Oct 2003 22:14:04 +0000 + +gcl (2.6.1-13) unstable; urgency=low + + * Fix compiler optimization bug in gcl_cmpopt.lsp -- missing parens + around inliner for max and min + * collect info structures for local functions in flet and labels + processing (gcl_cmpflet.lsp), and pass upwards to call-local and + call-global (gcl_cmpeval.lsp) to fix certain inlining bugs in via + more proper operation of args-info-changed-vars (gcl_cmpinline.lsp, + inline-args, gcl_cmplet.lsp, c2let) + * Fix an obviou int overflow in ifloor (o/cmpaux.c), handle more + proper fixnum/integer determination from declarations later + + -- Camm Maguire Fri, 10 Oct 2003 02:34:11 +0000 + +gcl (2.6.1-12) unstable; urgency=low + + * Restore mpz_to_mpz{1} in gmp_big.c, can be written by compiler + * tk8.4 patches + * Prevent destructive modification of bignum arguments in log_op/mp_op + in gmp_big.c + * Make sure to push stack variables onto newly allocated C variable + when inlining args and args cause side effects, in inline-args, + gcl_cmpinline.lsp + * Fix bug related to gcc-3.3 fixes in set_exponent in num_co.c + * Remove pcl_methods.c patch. as is apparently no longer needed, TODO + -- make sure VOL modifier is inserted where needed to prevent + longjmp clobbers + + -- Camm Maguire Thu, 2 Oct 2003 14:26:43 +0000 + +gcl (2.6.1-11) unstable; urgency=low + + * Add compilation step of compiling all lsp and cmpnew .lsp files from + an interpreted only saved_pre_gcl before the creation of saved_gcl - + - this enables us to use full optimization on these files while + getting the STREF constants right on 32bit and 64bit + * remove 'attic' from comment in gcl_loop.lsp + * configure changes for sizeof(struct contblock) detection + + -- Camm Maguire Wed, 24 Sep 2003 16:09:44 +0000 + +gcl (2.6.1-10) unstable; urgency=low + + * Mac OSX GET_FULL_PATH_SELF + * Preliminary subtypep checking for 'satisfies + * preliminary 'satisfies support in subtypep, more predicate type + pairs and reverse checking + * small compiler change to remove unused C variables from optimized + compiled macros + * Optional compiler init file is called gcl_cmpinit + * fasdmacros.lsp -> gcl_fasdmacros.lsp + * All cmpinit.lsp files named gcl_cmpinit.lsp; allow full lisp + optimization in all directories + * collectfn -> gcl_collectfn in lsp/gcl_auto.lsp + * collectfn -> gcl_collectfn in cmpnew/gcl_make-fn.lsp + * Make sure makefiles can generate sys-proclaim.lsp, regenerate these + files and recompile from lsp + * Rebuild with opts enabled + * Iterate sys-proclaim/rebuild generation once more + * Iterate sys-proclaim/rebuild for pcl and clcs + + -- Camm Maguire Tue, 23 Sep 2003 19:33:27 +0000 + +gcl (2.6.1-9) unstable; urgency=low + + * Close streams in fasldlsym.c + + -- Camm Maguire Tue, 16 Sep 2003 14:57:20 +0000 + +gcl (2.6.1-8) unstable; urgency=low + + * Add processor flag variable to flags in configure.in + * Autoadd full path to kcl_self to enable save-system when user moves + executable and calls without script wrapper + * Add special variables si::*collect-binary-modules* and si::*binary- + modules* as a facility for discovering the list of fasloaded objects + preceding a save-system is required for a subsequent compiler::link + * Add collectfn.lsp to distro + * Rename some files and init_ functions to eliminate namespace + conflicts when building images with compiler::link + * Enable compressed info reading + * Make sure no opt flags are set when enable debug is specified + * Use NIFlAGS to compile new_init with lower opts on ppc to work + around gcc bug, restore full opts to other files + + -- Camm Maguire Sun, 14 Sep 2003 02:18:28 +0000 + +gcl (2.6.1-7) unstable; urgency=low + + * Fix permissions bug in temporary gzipped file handling + * Propagate control changes correctly with package extension + * Newer standards + + -- Camm Maguire Tue, 9 Sep 2003 17:06:56 +0000 + +gcl (2.6.1-6) unstable; urgency=low + + * Remove build-dependency on autoconf as a temporary work around to + Debian autoconf's dependency bug on emacsen-common + + -- Camm Maguire Tue, 9 Sep 2003 15:29:06 +0000 + +gcl (2.6.1-5) unstable; urgency=low + + * Redefine temporary files in elisp/makefile + + -- Camm Maguire Mon, 8 Sep 2003 21:49:09 +0000 + +gcl (2.6.1-4) unstable; urgency=low + + * Fix to sfasli.c to avoid defining symbols in other than *UND* + sections + * Remove some 64 bit warnings + * Turn off def_static on ia64 for now -- its broken + + -- Camm Maguire Sat, 6 Sep 2003 17:22:10 +0000 + +gcl (2.6.1-3) unstable; urgency=low + + * Fix static detection fr ia64; contblock size detection on arm + * Fix gcc verion checking in gmp3 subconfigure, esp. for arm + * Escape all sgc code with #ifdef SGC + + -- Camm Maguire Fri, 5 Sep 2003 21:32:47 +0000 + +gcl (2.6.1-2) unstable; urgency=low + + * Add windows/install.lsp to clean target + * Add in macosx files to stable and cvs head + * Fix bad debelper postinst, Closes: #208765 + + -- Camm Maguire Fri, 5 Sep 2003 13:15:11 +0000 + +gcl (2.6.1-1) unstable; urgency=low + + * New upstream release + * Type-punning warning fixes + * small_fixnum overflow fixes + * off by one fix in cerror + * Fix compiler error which had not recognized defpackage as a package + operation + * Fix tkl.lisp call to open-named-socket + * Make values-list and nreconc signal errors when they should on + dotted lists. + * Avoid use of windows.h types as macros. + * New config.{sub,guess} + * Windows installer updates from CVS HEAD + * fix potential longjmp clobber in read.d;add some windows files to + main makefile clean target; + * Darwin revealed fixes to usig.c and unixtime.c + * Fix gbc time calculation in case of recursive gbc calls + * Run patch_sharp in LSharp_exclamation_reader to handle new case of + defpackage ops at head of fasl vector, required for maxima build + * Special symbol Dotnil has ordinary list Cnil for plist and hpack + * Small fixes for profiling support + * Restore pp() function for debugging; print out undefined symbol + names + * Small patch for fix xgcl demo (thanks Michael Koehne) + * Better bfd symbol table strategy + * Fix bfd table symbol counting for combined_table profiling + * amd64 linux support + * O6 -> O3 + * static linking on ia64 to work around current mechanism for runtime + generated function descriptors + * enable-static configure option + * Fix debian/gcl-doc.docs for latest texinfo file splitting policy, + Closes: #206017 + * Fix typo in o/sfasli.c + * Rework debian package structure to handle stable and cvs packages + simultaneously + * Add gazonk*.lsp to clean target + * syntax fix to lsp/gprof.hc + * Add support for SGC contblock pages + * Fixes to debian/rules + * Remove unused definitions of Vcs + * Increase default maxpages and stack sizes + * Maintain a persisten *system-directory* binding + * Push installed /h directory onto -I flags on cc command line + * Escape old in-package behavior with #ifdef ANSI_COMMON_LISP + * define HAVE_XDR in linux.h + * reduce resolution of contblock mark_table in gbc.c to match new + minimum granularity introduced via CPTR_ALIGN + * Remove exit function in main.c + + -- Camm Maguire Thu, 4 Sep 2003 02:20:52 +0000 + +gcl (2.5.3-2) unstable; urgency=low + + * gcc-3.3 all platforms + + -- Camm Maguire Mon, 7 Jul 2003 16:10:25 +0000 + +gcl (2.5.3-1) unstable; urgency=low + + * New upstream release + * Restore object_to_float and object_to_double, cmpaux.c, Closes: #195470. + * Remove obsolete functiion multiply-bignum-stack from documentation, + si-defs.texi + * Unstatic object_to_float, object_to_double + + -- Camm Maguire Mon, 2 Jun 2003 12:38:03 -0400 + +gcl (2.5.2-1) unstable; urgency=low + + * New upstream release + * Cleanup xdrfuns.c for Axiom + * Reenable xgcl build + + -- Camm Maguire Thu, 20 Mar 2003 09:15:54 -0500 + +gcl (2.5.1-1) unstable; urgency=high + + * some optimization now on hppa + * Add RELEASE-2.5.1 file + * Add dedication notice to the memory of W. Schelter + + -- Camm Maguire Sun, 2 Mar 2003 10:20:26 -0500 + +gcl (2.5.0.cvs20020625-80) unstable; urgency=low + + * enable japi configure flag, defaults to no + * enable -mlongcall on ppc when using gcc 3.3 or higher + * int -> fixnum in DEFUN function arguments for safety -- ensures + pointers and integers passed by lisp are of same size + * MYmake_fixnum macro simplification + * ufixnum typedef + * Prototypes for cmod et.al. -- restoring maxima build on ia64 + * Fix unaligned access message on ia64 generated by DFLT_aet_fix + * Integer va_arg uses fixnum + * Define __*i3 symbols used by GCL, supplied by libc, and written into + some GCL compiled objects, restores ARM build with ANSI image + * num_log.c miscompilation on ia64 apparently fixed, Closes: #156291 + * Ensure cmpinclude.h up to date in main makefile + + -- Camm Maguire Sat, 1 Mar 2003 17:33:29 -0500 + +gcl (2.5.0.cvs20020625-79) unstable; urgency=low + + * Fix Debian package install bug + + -- Camm Maguire Thu, 27 Feb 2003 23:17:55 -0500 + +gcl (2.5.0.cvs20020625-78) unstable; urgency=low + + * Add config.log config.status and config.cache to clean target + * Remove xgcl-2/debian directory + * Update clcs/sys-proclaim.lisp + + -- Camm Maguire Thu, 27 Feb 2003 18:48:38 -0500 + +gcl (2.5.0.cvs20020625-77) unstable; urgency=low + + * Lintian cleanups + * Don't strip libansi_gcl.a, need .data at end of .o, as with libgcl.a + * Take newlines out of doc string for init-cmp-anon + * Cleanup gcc-3.2 compiler warning + * 64 bit STREF fixes + * pcl and clcs need to have C rebuilt afresh, as 64 bit machines write + different STREF offsets into the C files + * Rework Debian package build a bit + * README.Debian explaining the toggling of the ANSI image + * Typo in debian/rules + * Remove debian/gcl.conffiles + + -- Camm Maguire Thu, 27 Feb 2003 15:56:11 -0500 + +gcl (2.5.0.cvs20020625-76) unstable; urgency=low + + * Debian Priority is optional + * Configure lowest common denominator on m68k to m68020 -- gcc-3.2 + can't handle m68000 -- no __mulsi3 + * Fix bit array bug + * Add upgraded-array-element-type + * Misc typep and subtypep fixes + * Proper error handling in certain array.c functions + * First needs exactly one arg + * Proper error handlin in LAST + * bit array allocation fixes in num_log.c + * eliminate Iapply_fun_n1 + * Dummy system find-class in traditional image, overwritten by pcl + version in ANSI + * Invalid variable is a program error, not a symbol is a type error + * Attempt at uninterned symbol support as slot names + * defstruct changes for ANSI conc-name handling + * Rework ansi build to follow existing pattern for traditional image, + enabling preliminary ansi support on dlopen systems + * Fix broken mingw probe in main makefile + * Rename pcl and clcs files to avoid init name conflict on dlopen + systems + * sys-proclaim for clcs + * Compiler goto indentation + * Compiler pointer cast in call_or_link_closure + * *keep-gaz* compiler variable to save anonymously generated lisp + * si::init-cmp-anon function to initialize anonymously generated and + compiled lisp from .text section of running executable + * Debian/rules builds and ships both images + * Check for small fixnum in make_fixnum macro + * Pass real integers to array functions to minimize fixnum garbage + * Larger SHARP_EQ_CONTEXT_SIZE in read.d + * Shadowing-import instead of import dummy symbols into common-lisp in + ansi_cl.lisp + * Rework object definition in makefiles + * Remove old gmp directory + * Remove old tests directory + * Reinsert JAPI configuration + * Spruce up clean target + * Use saved_gcl to recompile cmpnew files + * Toggle ansi image with GCL_ANSI environment variable + * Version 2.5.1 + + -- Camm Maguire Wed, 26 Feb 2003 21:31:04 -0500 + +gcl (2.5.0.cvs20020625-75) unstable; urgency=low + + * Export truename for dlopen systems + + -- Camm Maguire Fri, 14 Feb 2003 23:31:15 -0500 + +gcl (2.5.0.cvs20020625-74) unstable; urgency=low + + * Remove duplicates in apropos a la clisp + * Use static where possible, remove unused functions, decrease global + symbol count by about 1/3 (~ 600 global functions) + * Inline optimize cmod,cplus,ctimes and cdifference like maxima + * eliminate make-pure-array from lfun_list.lsp, not defined + * Prototypes for all possible compiler generated function calls + * relative symlink for cmpinclude.h in Debian package + + -- Camm Maguire Fri, 14 Feb 2003 20:17:31 -0500 + +gcl (2.5.0.cvs20020625-73) unstable; urgency=low + + * typep fixes for class types + * m68k Build-depend on gcc-2.95 as a temporary work around to bug + 179807 + * gcc-3.2 warning cleanups + * bfd_boolean syntax support for newer binutils + * gcc-3.2 on powerpc can't yet handle -O2 and higher + * Reenable gcc-3.2 for m68k and do some guesswork in configure + + -- Camm Maguire Mon, 10 Feb 2003 13:47:00 -0500 + +gcl (2.5.0.cvs20020625-72) unstable; urgency=high + + * Fix to siLbit_array_op for 0 dimension arrays + * Fixed aref of short-float vector + * nconc can take dotted lists + * tailp returns t if first arg is nil + * Repair nconc and tailp fixes + * varargs->stdarg for gcc 3.3 and higher + + -- Camm Maguire Sun, 9 Feb 2003 16:57:33 -0500 + +gcl (2.5.0.cvs20020625-71) unstable; urgency=high + + * ansi changes to sloop.lsp and conditions.lisp to fix symbol tests + * :definition-before-pcl -> definition-before-pcl + * Allow spaces in pathnames + * Significant fixes to gmp_num_log.c affecting bitwise ops on bignums + * Fix test segfault arising from faulty structure-type-included-type- + name in gcl-low.lisp ; Thanks Peter + * aref1 -> row-major-aref + * Fixes to certain numerical functions to handle denormalized floating + point numbers + * Number of argument check in IapplyVector + * Print offset bit vectors correctly + * Correct precision for formatting short and long doubles + * Added si::modf + * Do not trigger error in IapplyVector if max args is zero + * Fixes to with-package-iterator to cleanup compiler warnings + * :invalid-variable is a type error + * No max arg checking if &key or &rest present + * proper defun declarations in listlib.lsp + * class specifiers in typep, subtypep and coerce + * Corrections to allow-other-key processing in bind.c + * eval sfuns with argument error checking (in one place) + * copy-structure takes only one arg + * si::classp, si::class-of, and si::class-precedence-list overwritten + by pcl analogs when compiling ansi + * recompiled core lsp and compiler files + * restore dvi and html doc build for non-mingw + + -- Camm Maguire Fri, 24 Jan 2003 13:55:11 -0500 + +gcl (2.5.0.cvs20020625-70) unstable; urgency=high + + * loop fixes + * configure fixes + * :common-lisp in *features* + * :definition-before-clcs -> definition-before-clcs + * protect against sgc segfault within fread in fasdump.c -- fixes m68k + acl2 build + * SGC for s390 + + -- Camm Maguire Thu, 5 Dec 2002 08:02:17 -0500 + +gcl (2.5.0.cvs20020625-69) unstable; urgency=high + + * eval fix + * \-mlong-calls for arm + + -- Camm Maguire Mon, 25 Nov 2002 08:35:27 -0500 + +gcl (2.5.0.cvs20020625-68) unstable; urgency=high + + * enable emacsdir configure option + * reordered configure X lib detection for solaris + * redo integer declarations for gmp bignums to avoid compiler warnings + * Clear large and negative count errors for remove/delete + * Loop error fixes + * cache flush with page granularity on m68k + + -- Camm Maguire Thu, 21 Nov 2002 17:44:30 -0500 + +gcl (2.5.0.cvs20020625-67) unstable; urgency=high + + * Align cache flushes for powerpc and m68k on 32 byte boundaries, + should fix acl2 build + * Removed diagnostic SIGILL trapping in cmpaux.c + + -- Camm Maguire Tue, 12 Nov 2002 23:25:49 -0500 + +gcl (2.5.0.cvs20020625-66) unstable; urgency=high + + * Fix SIGILL trap in cmpaux.c + + -- Camm Maguire Mon, 11 Nov 2002 11:14:07 -0500 + +gcl (2.5.0.cvs20020625-65) unstable; urgency=high + + * Miscellaneous Freebsd patches + * non-recursive with-package-iterator + * map-into fill-pointer fixes + * changes to the user-init mechanism for portable acl2 build + + -- Camm Maguire Sun, 10 Nov 2002 12:33:59 -0500 + +gcl (2.5.0.cvs20020625-64) unstable; urgency=low + + * Fix epsilon calculations again to reenable arm build + + -- Camm Maguire Fri, 1 Nov 2002 07:08:33 -0500 + +gcl (2.5.0.cvs20020625-63) unstable; urgency=low + + * Add versioned dependency on the gcc used to build gcl + + -- Camm Maguire Tue, 29 Oct 2002 16:20:22 -0500 + +gcl (2.5.0.cvs20020625-62) unstable; urgency=low + + * with-package-iterator modifications + * with-package-iterator uses labels to correctly provide for recursion + * Fix doc directory problem with install target in info/makefile + * Fix info dir setting in configure + * Priority extra + + -- Camm Maguire Mon, 28 Oct 2002 23:45:07 -0500 + +gcl (2.5.0.cvs20020625-61) unstable; urgency=low + + * Placeholder support for optional condition in find-restart + * defpackage error on importing non-existent symbols + * working with-package-iterator macro + * various package errors reported as :package-error + * Destructuring-bind fixes + * delete-package error fix + * pcl functions use pcl-destructuring-bind for now -- fix later + * Trigger error if function calls use too many 'values' + * Maximum values increased to 50 + * Enable previously failing tests in multiple-value-{setq,prog1}.lsp + * prototype for system_time_zone_helper + * Initial changes for solaris support + * make -> $(MAKE) in makefiles + * Incorporated main GCL (ANSI) Lisp Documentation in distribution + + -- Camm Maguire Mon, 28 Oct 2002 04:31:33 -0500 + +gcl (2.5.0.cvs20020625-60) unstable; urgency=low + + * Still better acosh, courtesy of Barton Willis + * Better epsilon contant determination in ieee case + * Implicit tagbody in do-symbols and do-all-symbols + * Better epsilon handling in ieee case + * Add setf (values ... support + * invalid-function errors are type errors + * ecase and ccase take t and otherwise clauses + * ECASE/CCASE test fixes + * setf values fixes to use setf instead of setq when target value is + not a symbol + * ETYPECASE/CTYPECASE can take t and otherwise + * Backout of restart-clusters export + * fix handler.lisp + * Fix to bfd/GBC interaction + + -- Camm Maguire Wed, 23 Oct 2002 08:38:08 -0400 + +gcl (2.5.0.cvs20020625-59) unstable; urgency=low + + * wrong number of arguments, keyword errors in lambda list bindings, + are program errors + * acosh fix at -1.0 + * New config.sub and config.guess files and automatic updates in + binutils, gmp, and gmp3 subdirs + + -- Camm Maguire Wed, 16 Oct 2002 11:38:56 -0400 + +gcl (2.5.0.cvs20020625-58) unstable; urgency=low + + * GENSYM fixes + * add complement and constantly + * import certain symbols into common-lisp package + * Fix makefile bug in install target + * Prepend instead of overwrite C_INCLUDE_PATH in shell wrapper + * More shell variable fixes in main makefile + * Corrected order of push and pushnew + * Set bfd_error appropriately + * Report function for package-error in condition-definitions.lisp;fix + internal-package-error deinition and handling;export *restart- + clusters* to user error code specified in handler-case;package-error + error formatting changes;dummy optional argument added to compute- + restarts (for now);Paul Dietz patch to defpackage.lsp fixing several + tests (thanks);export/unexport error handling fixes + * Recompile c,h and data files + * Fix number of argument errors in debug.lsp;documentation support for + packages in defpackage.lsp and module.lsp;do-symbols loops over + inherited symbols too in packlib.lsp + * Reworked EXTRAS variable handling in unixport/makefile + * Build-depend on autotools-dev and automatic update of config.sub and + config.guess;newer config.sub and config.guess in cvs tree; Closes: + #164526 + * Remove stray comments in package.d + * elt errors of type type error + * bad-sequence limit returns type error + + -- Camm Maguire Tue, 15 Oct 2002 15:39:19 -0400 + +gcl (2.5.0.cvs20020625-57) unstable; urgency=low + + * Capitalization changes to names of special characters;graphic-char-p + fix + * fix shadowing of existing symbols in package.d + * (simple-)base-string not a subtype of (simple-)vector + * add package-error condition(preliminary);hash conditions only by the + error name, not the format string;pass error types for both + correctable and non-correctable situations;eliminate duplicate + loading of clcs/package.lisp;Allow t doc-types in documentation + (returning nil) for now;fix final type errors in predlib.lsp + (regarding base-string);other error functions to pass continuable + errors (needs cleaning up);package designators can be + characters;delete-package added;make-package doesn't :use lisp by + default;in-package returns error if package does not exist instead + of making the package(relatively big change -- need to address + instances of in-package in .lsp code);call make-package on relevant + packages in init_gcl.lsp.in and pcl/sys-package.lisp; + * \-ffunction-sections for hppa with no-optimization -- enables first + maxima build here + * separate lisp variables to specify optimization flags for level 2 + and 3 + * symbol-name throws a type error on bad input + * tk8.2 -> tk8.3 + * Fix bug in main makefile + * Newlines at end of test files + + -- Camm Maguire Wed, 9 Oct 2002 15:04:41 -0400 + +gcl (2.5.0.cvs20020625-56) unstable; urgency=high + + * ansi-test corrections; extra-libs option to LINK function; LINK doc + change; subtypep and string changes to pass more tests + * Add method-combination and structure-object symbols for ansi;remove + unused variables in debug.lsp;remove in-package system from + defstruct.lsp;make-keyword and defmacro temporary function + placeholders in destructuring_bind.lsp;predlib changes to fix ansi- + test type errors;break-call takes 2 args (sys-proclaim.lisp);char + and char-set protected by string dimension not fillpointer in + string.d;fix bug in string.d:member_char for vector types;redefine + slot reader and writer functions in pcl/impl/gcl/gcl-low.lisp + + -- Camm Maguire Sat, 5 Oct 2002 14:33:46 -0400 + +gcl (2.5.0.cvs20020625-55) unstable; urgency=high + + * Add LINK documentation to info pages + * 0 length last support + * make-sequence error check for 'null type and non-zero size + * Dotted-list support in member + * Reworked dotnil definitions and support macros + * add compile-file-pathname + * setup C_INCLUDE_PATH env variable in gcl shell wrapper + * POSITIVE-FIXNUM variable type,simple-error->type error where + indicated by various ansi tests, eq->eql in ldiff and tailp;proper + lists only in member et. al. + * rev keyword for member1 to reverse test arguments + * specific-error function to pass a given type of error from lisp + * set-exclusive-or preserves order of test arguments + * type-errors where appropriate in make-sequence + * nil keys accepted in remove/delete et.al. + * Reworked linking command line to ensure that certain symbols are + resolved in libgcl.a as opposed to certain system libraries, e.g. + gmp + * new gmp for m68k;no -ffloat-store for m68k a requested by user due + to performance impact (will alter test results in maxima + accordingly) + * libgclp.a for objects to be overriden by the C library if necessary + * readably support + * boolean type + * Missing ansi type support + * subtype code for boolean + * add missing ansi types as known types + * other preliminary subtype code for missing ansi types + * rework result-type check in make-sequence + * :element-type support in make-string (preliminary) + * (char ignores fill-pointer + * remove -O4 from debian/rules + + -- Camm Maguire Thu, 3 Oct 2002 01:52:45 -0400 + +gcl (2.5.0.cvs20020625-54) unstable; urgency=high + + * Fix delete et. al. :from-end error; typo in gbc.c + * character and string-char equal in type hierarchy + * concatenate/make-sequence fixes + * merge takes nil key argument + * make-sequence checks size against result type + * install endp macro for dotted list support + + -- Camm Maguire Tue, 24 Sep 2002 14:57:44 -0400 + +gcl (2.5.0.cvs20020625-53) unstable; urgency=high + + * Sleep with (in principle) microsecond precision + * nth-value macro added + * \-ffloat\-store and warning cleanups for m68k + * Compile hppa with debugging, will get a build but a broken one, ok + for now, Closes: #159591 + + -- Camm Maguire Fri, 20 Sep 2002 09:48:35 -0400 + +gcl (2.5.0.cvs20020625-52) unstable; urgency=high + + * Fixed gcc version bug in debian/rules + + -- Camm Maguire Thu, 12 Sep 2002 18:00:50 -0400 + +gcl (2.5.0.cvs20020625-51) unstable; urgency=high + + * static gmp for m68k + + -- Camm Maguire Thu, 12 Sep 2002 09:33:03 -0400 + +gcl (2.5.0.cvs20020625-50) unstable; urgency=high + + * Reworked static gmp target for new libgcl.a;gcc-3.2 for + hppa,ia64,and arm;libgmp2-dev for m68k;no rsym with + dynsysbfd;build_symbol_table earlier to shrink table size; + + -- Camm Maguire Thu, 12 Sep 2002 00:39:17 -0400 + +gcl (2.5.0.cvs20020625-49) unstable; urgency=high + + * Use old gmp for m68k until can pin down test failure with gmp3 + + -- Camm Maguire Tue, 10 Sep 2002 00:36:10 -0400 + +gcl (2.5.0.cvs20020625-48) unstable; urgency=high + + * Rework build and install so that custom images can be made without + the source tree, even when using dlopen + + -- Camm Maguire Mon, 9 Sep 2002 23:26:47 -0400 + +gcl (2.5.0.cvs20020625-47) unstable; urgency=high + + * Install cmpinclude.h in system include directory + + -- Camm Maguire Thu, 29 Aug 2002 23:31:55 -0400 + +gcl (2.5.0.cvs20020625-46) unstable; urgency=high + + * Keep a *much* smaller piece of gmp.h in cmpinclude.h, reducing image + size by almost 100k + * Check for _SHORT_LIMB and _LONG_LONG_LIMB in configure + * Remove build specific include directories from compile command in + final executable + * Include local regexp.h explicitly in cmpinclude.h, to eliminate + intereference with system regexp.h, and to fix bug in which gcl + compilation depended on existing build directories + * Correctly add directory paths to extra gmp file targets in + unixport/makefile for m68k + + -- Camm Maguire Thu, 29 Aug 2002 21:56:28 -0400 + +gcl (2.5.0.cvs20020625-45) unstable; urgency=high + + * Fix typo in rshift target for m68k + + -- Camm Maguire Wed, 28 Aug 2002 18:02:00 -0400 + +gcl (2.5.0.cvs20020625-44) unstable; urgency=high + + * Handle second argument to last; treat dotted lists correctly in + ldiff et. al., tailp fix + * optional key argument for assoc-if et.al.;eval getf deflt if in setf + * Fix infinite loop in assoc-if et.al. + * X_LIBS and X_CFLAGS determination in configure script + + -- Camm Maguire Wed, 21 Aug 2002 18:22:37 -0400 + +gcl (2.5.0.cvs20020625-43) unstable; urgency=high + + * Larger ihs stack;fix array-total-size-limit;check negative + fillp;allow #P + * don't make common_lisp package when not configuring with --enable- + ansi + * Patch gmp3/mpn/m68k/{l,r}shift.asm, restore gmp3 to m68k build + * Dynamic libgmp support, overriding with patched functions from local + source where necessary + + -- Camm Maguire Sun, 18 Aug 2002 12:10:55 -0400 + +gcl (2.5.0.cvs20020625-42) unstable; urgency=high + + * copy ansidecl.h and symcat.h in h/ for local bfd builds + * localize bfd.h includes to sfaslbfd.c + * take bfd/po out of the build loop + * import xgcl-2, but don't build by default + * oldgmp configure option, and made default for m68k as temporary + workaround + + -- Camm Maguire Mon, 12 Aug 2002 23:49:09 -0400 + +gcl (2.5.0.cvs20020625-41) unstable; urgency=high + + * Minor rules revision for i164 + + -- Camm Maguire Sun, 11 Aug 2002 13:49:03 -0400 + +gcl (2.5.0.cvs20020625-40) unstable; urgency=high + + * revamp CONST configure test for certain bfd versions + + -- Camm Maguire Sun, 11 Aug 2002 12:31:35 -0400 + +gcl (2.5.0.cvs20020625-39) unstable; urgency=high + + * gcc-3.1 for ia64 fixes a compilation bug in num_co.c for -O3 and + higher -- code takes address of a variable kept in a register + * compile num_log.c with -O only on ia64 to work around compiler bug + + -- Camm Maguire Sun, 11 Aug 2002 08:53:03 -0400 + +gcl (2.5.0.cvs20020625-38) unstable; urgency=high + + * check for long c statck addresses, fixing NULL_OR_ON_C_STACK macro + for ia64 + * Remove error in clean target + + -- Camm Maguire Sat, 10 Aug 2002 13:20:08 -0400 + +gcl (2.5.0.cvs20020625-37) unstable; urgency=high + + * Replace tmpnam and mktemp with less dangerous mkstemp + + -- Camm Maguire Fri, 9 Aug 2002 19:45:52 -0400 + +gcl (2.5.0.cvs20020625-36) unstable; urgency=high + + * Fix rsym compilation when not using bfd + + -- Camm Maguire Fri, 9 Aug 2002 19:10:16 -0400 + +gcl (2.5.0.cvs20020625-35) unstable; urgency=high + + * Don't build bfd/po subdir + * Build-depend on automake and gettext + + -- Camm Maguire Fri, 9 Aug 2002 14:36:58 -0400 + +gcl (2.5.0.cvs20020625-34) unstable; urgency=high + + * fix zero length array support + * reverse configure order for bfd and libiberty + + -- Camm Maguire Fri, 9 Aug 2002 11:52:38 -0400 + +gcl (2.5.0.cvs20020625-33) unstable; urgency=high + + * chmod +x for subconfigures + * dlopen for appropriate arches in debian/rules + * add custreloc configure option + + -- Camm Maguire Fri, 9 Aug 2002 10:16:55 -0400 + +gcl (2.5.0.cvs20020625-32) unstable; urgency=high + + * Local bfd build option to prepare for arch-specific patches + * Try default gmp3 build on m68k + * Fix merge-pathnames + + -- Camm Maguire Fri, 9 Aug 2002 00:13:16 -0400 + +gcl (2.5.0.cvs20020625-31) unstable; urgency=high + + * #undef bool in object.h for some gcc-3.1 installations + * New number_tan implementation using real tan, so optimized compiled + code will find symbol in -lm + + -- Camm Maguire Tue, 6 Aug 2002 18:37:52 -0400 + +gcl (2.5.0.cvs20020625-30) unstable; urgency=high + + * fix bug in cmpif.lsp and recompile compiler + * \-O6 \-fomit\-frame\-pointer for Linux, speed gain of ~ 10% + * clean saved_gcl_pcl + + -- Camm Maguire Mon, 5 Aug 2002 16:34:33 -0400 + +gcl (2.5.0.cvs20020625-29) unstable; urgency=high + + * Back out of hppa assembler register flush for hppa, apparently issue + is cleared by long/object function declaration fix + * Remove ansi2knr.1 man page, Closes: #155067 + * hppa still has gc leak, possibly due to faulty setjmp. Try Lamont + Jones' latest assembler to flush regs + + -- Camm Maguire Fri, 2 Aug 2002 20:50:21 -0400 + +gcl (2.5.0.cvs20020625-28) unstable; urgency=high + + * SGC support for alpha + * generic gmp3 build for m68k + * compiler changes to declare all functions as returning object, with + functions that actually return long being cast appropriately + * back out of m68k hack in eval.c and funlink.c + + -- Camm Maguire Fri, 2 Aug 2002 18:22:04 -0400 + +gcl (2.5.0.cvs20020625-27) unstable; urgency=high + + * Use generic lshift.c in gmp3 for m68k + * use SGC for ia64 + * m68k workaround, cast (object(*)()) to (long(*)()) in funlink.c and + eval.c + * GBC register spiil asm for hppa + * fix hash_equal declaration error in hash.d + + -- Camm Maguire Thu, 1 Aug 2002 18:12:49 -0400 + +gcl (2.5.0.cvs20020625-26) unstable; urgency=high + + * Remove extra load of tkl.o in install target of main makefile + * gcc-3.1 for hppa + * Remove gcc version spec for m68k + * \-fPIC for hppa, needed for dlopen + * cleanup gcc 3.1 warning in funlink.c + * cc instead of ld for -shared linking in fasldlsym.c (needed for + hppa) + + -- Camm Maguire Wed, 31 Jul 2002 18:46:54 -0400 + +gcl (2.5.0.cvs20020625-25) unstable; urgency=high + + * Move chmod +x gmp3/* into debian/rules + * Remove gclm.bat from Debian package + * Build-Depend on autoconf, Closes: #154909 + + -- Camm Maguire Wed, 31 Jul 2002 09:44:20 -0400 + +gcl (2.5.0.cvs20020625-24) unstable; urgency=high + + * chmod +x gmp3/configure + + -- Camm Maguire Wed, 31 Jul 2002 07:55:17 -0400 + +gcl (2.5.0.cvs20020625-23) unstable; urgency=high + + * 64bit SGC support + * SGC on by default for sparc-linux and mips(el)-linux + * Optimized logxor funtion + * Check for MP_LIMB_SIZE in fasdump.c, for 64bit support + * gbc fix for ia64 + * gmp3 import for ia64 + * system bzero, bcmp, and bcopy function prototypes + + -- Camm Maguire Tue, 30 Jul 2002 23:11:58 -0400 + +gcl (2.5.0.cvs20020625-22) unstable; urgency=high + + * ElfW macros in rsym*.c for 64bit + * Allow for 8 byte gmp mp_limbs + + -- Camm Maguire Thu, 25 Jul 2002 18:52:37 -0400 + +gcl (2.5.0.cvs20020625-21) unstable; urgency=high + + * Support for dlopen object loading where bfd is not yet working -- + ./configure --enable-dlopen + + -- Camm Maguire Thu, 25 Jul 2002 15:08:05 -0400 + +gcl (2.5.0.cvs20020625-20) unstable; urgency=high + + * Cleanups for --disable-bfd option + + -- Camm Maguire Wed, 24 Jul 2002 15:05:28 -0400 + +gcl (2.5.0.cvs20020625-19) unstable; urgency=high + + * 64bit fixes + + -- Camm Maguire Wed, 24 Jul 2002 12:16:42 -0400 + +gcl (2.5.0.cvs20020625-18) unstable; urgency=high + + * misc. lintian cleanups, mostly for 64 bit + + -- Camm Maguire Tue, 23 Jul 2002 23:35:03 -0400 + +gcl (2.5.0.cvs20020625-17) unstable; urgency=high + + * Fixed typeo in error.c preventing arm compilation + + -- Camm Maguire Mon, 22 Jul 2002 17:18:18 -0400 + +gcl (2.5.0.cvs20020625-16) unstable; urgency=high + + * Fix bad on_stack_list_vector args + + -- Camm Maguire Mon, 22 Jul 2002 16:10:16 -0400 + +gcl (2.5.0.cvs20020625-15) unstable; urgency=high + + * More lint changes for sundry arches + * Fixed bug in Iapply_ap + + -- Camm Maguire Sat, 20 Jul 2002 23:40:33 -0400 + +gcl (2.5.0.cvs20020625-14) unstable; urgency=high + + * include stdarg.h when defining _GNU_SOURCE + + -- Camm Maguire Sat, 20 Jul 2002 18:47:43 -0400 + +gcl (2.5.0.cvs20020625-13) unstable; urgency=high + + * Proper va_dcl declarations + + -- Camm Maguire Sat, 20 Jul 2002 10:40:02 -0400 + +gcl (2.5.0.cvs20020625-12) unstable; urgency=high + + * cvs updates for missing ptrdiff_t + + -- Camm Maguire Sat, 20 Jul 2002 08:41:37 -0400 + +gcl (2.5.0.cvs20020625-11) unstable; urgency=high + + * cvs changes to compile cleanly with -Wall + + -- Camm Maguire Sat, 20 Jul 2002 02:59:33 -0400 + +gcl (2.5.0.cvs20020625-10) unstable; urgency=high + + * Architecture any, though still have some issues + + -- Camm Maguire Fri, 12 Jul 2002 19:02:09 -0400 + +gcl (2.5.0.cvs20020625-9) unstable; urgency=high + + * cvs commits for 64bit support + + -- Camm Maguire Fri, 12 Jul 2002 18:01:21 -0400 + +gcl (2.5.0.cvs20020625-8) unstable; urgency=high + + * NULL_OR_ON_C_STACK macro correction for m68k + + -- Camm Maguire Fri, 12 Jul 2002 14:37:48 -0400 + +gcl (2.5.0.cvs20020625-7) unstable; urgency=high + + * arm is bigendian + + -- Camm Maguire Wed, 10 Jul 2002 18:04:22 -0400 + +gcl (2.5.0.cvs20020625-6) unstable; urgency=high + + * cvs updates for arm build + + -- Camm Maguire Tue, 9 Jul 2002 16:09:26 -0400 + +gcl (2.5.0.cvs20020625-5) unstable; urgency=high + + * CC environment variable setting in debian/rules to aid in porting + * gcc 2.95 for m68k + + -- Camm Maguire Sat, 6 Jul 2002 23:00:23 -0400 + +gcl (2.5.0.cvs20020625-4) unstable; urgency=high + + * gcc 3.0 for arm + * cachectl header for m68k + + -- Camm Maguire Mon, 1 Jul 2002 15:47:53 -0400 + +gcl (2.5.0.cvs20020625-3) unstable; urgency=high + + * Better libbfd detection for arm/alpha + + -- Camm Maguire Wed, 26 Jun 2002 17:27:21 -0400 + +gcl (2.5.0.cvs20020625-2) unstable; urgency=high + + * s390 support + + -- Camm Maguire Tue, 25 Jun 2002 21:25:35 -0400 + +gcl (2.5.0.cvs20020625-1) unstable; urgency=high + + * CVS updates, new s390 arch + + -- Camm Maguire Tue, 25 Jun 2002 19:26:36 -0400 + +gcl (2.5.0.cvs20020610-2) unstable; urgency=high + + * cvs updates + + -- Camm Maguire Thu, 13 Jun 2002 08:42:32 -0400 + +gcl (2.5.0.cvs20020610-1) unstable; urgency=high + + * cvs updates + + -- Camm Maguire Wed, 12 Jun 2002 23:04:57 -0400 + +gcl (2.5.0.cvs20020523-2) unstable; urgency=high + + * configure updates for better tk detection + + -- Camm Maguire Fri, 24 May 2002 18:50:22 -0400 + +gcl (2.5.0.cvs20020523-1) unstable; urgency=high + + * New upstream release + + -- Camm Maguire Fri, 24 May 2002 18:50:22 -0400 + +gcl (2.5.0.cvs20020429-1) unstable; urgency=high + + * Build-Depend on tk8.2-dev, Closes: #144330 + * New cvs updates + * Added sparc to arch list, Closes: #143465 + + -- Camm Maguire Mon, 29 Apr 2002 23:07:36 -0400 + +gcl (2.5.0.cvs20020219-2) unstable; urgency=medium + + * flavor ->debian-emacs-flavor in emacsen-startup + + -- Camm Maguire Mon, 4 Mar 2002 14:29:59 -0500 + +gcl (2.5.0.cvs20020219-1) unstable; urgency=medium + + * Updated package descriptions, Closes: #134402 + * Static linking of libbfd, Closes: #134647 + * Gcl currently only available on i386, arm and m68k as specified in + the Architecture control field, Closes: #133912 + + -- Camm Maguire Tue, 19 Feb 2002 12:04:29 -0500 + +gcl (2.5.0.cvs-3) unstable; urgency=medium + + * Build-depend on texi2html, Closes: #133699 + + -- Camm Maguire Wed, 13 Feb 2002 16:22:35 -0500 + +gcl (2.5.0.cvs-2) unstable; urgency=medium + + * Put in versioned dependency on binutils for libbfd support, rebuilt + with latest binutils, Closes: #133004 + + -- Camm Maguire Tue, 12 Feb 2002 13:19:12 -0500 + +gcl (2.5.0.cvs-1) unstable; urgency=medium + + * Latest patches from CVS, enabling libbfd relocations, among other + things + * /etc/emacs/site-start.d/50gcl.el as conffile, Closes: #132137 + * limited arm and m68k support + + -- Camm Maguire Mon, 4 Feb 2002 09:32:29 -0500 + +gcl (2.5.0-1) unstable; urgency=medium + + * New maintainer + * New upstream release + * New release so far builds only on i386, Closes: #116070, Closes: + #123371 + * New release so far builds only on i386, Closes: #115041 + * Gcl must currently use its own copy of gmp, as the upstream version + of gmp uses malloc, which interferes with gcl's garbage collection + and relocation scheme. The change from malloc to alloca has been + suggested to upstream gmp developers. Closes: #108910 + * Tcl/Tk support now in. Closes: #113197 + + -- Camm Maguire Fri, 21 Dec 2001 00:03:43 -0500 + +gcl (2.4.0-3) unstable; urgency=medium + + * Make gcl use libgmp3 package. (closes: #108910) + * Remove tk support. (closes: #108909) + * Fix stupid missing dependency line. (closes: #108907, #108908) + * Removed readme.mingw from the debian package, this package is not compiled under + mingw (windows gcc port). + * Close ITA bug. (closes: #112312) + + -- Baruch Even Sat, 22 Sep 2001 00:27:14 +0300 + +gcl (2.4.0-2) unstable; urgency=low + + * Change tclsh Build-Depends to tcl8.0 because apt is broken. (closes: #99261) + + -- JP Sugarbroad Wed, 30 May 2001 14:34:53 -0500 + +gcl (2.4.0-1) unstable; urgency=low + + * New upstream release + + -- JP Sugarbroad Sun, 13 May 2001 20:31:01 -0500 + +gcl (2.3.7+beta3-3) unstable; urgency=low + + * Move gcl-doc to section doc (closes: #78666) + + -- JP Sugarbroad Sun, 13 May 2001 20:26:28 -0500 + +gcl (2.3.7+beta3-2) unstable; urgency=low + + * Remove alpha from arch list + * Move tcl/tk from Depends to Suggests + + -- JP Sugarbroad Fri, 4 May 2001 16:24:11 -0500 + +gcl (2.3.7+beta3-1) unstable; urgency=low + + * New maintainer + * Repackaged with debhelper (closes: #42045, #86097, #91475, #91478) + * New upstream release (closes: #59577, #71096) + * Added sparc+alpha, removed m68k (closes: #87407) + + -- JP Sugarbroad Mon, 30 Apr 2001 19:07:49 -0500 + +gcl (2.2.1-6) unstable; urgency=low + + * Disable stripping of "saved_gcl" binary. (#45778) + + -- Steve Dunham Fri, 24 Sep 1999 14:39:15 -0400 + +gcl (2.2.1-5) unstable; urgency=low + + * Fix m68k build + + -- Steve Dunham Tue, 6 Jul 1999 09:45:09 -0400 + +gcl (2.2.1-4) unstable; urgency=low + + * Fix bug #31718 + + -- Steve Dunham Fri, 2 Jul 1999 11:11:12 -0400 + +gcl (2.2.1-3) unstable; urgency=low + + * Add m68k patches + + -- Steve Dunham Wed, 16 Dec 1998 14:25:46 -0500 + +gcl (2.2.1-2) unstable; urgency=low + + * Compile against libc6. New maintainer. + + -- Steve Dunham Wed, 5 Nov 1997 10:09:12 -0500 + +gcl (2.2.1-1) unstable; urgency=low + + * New upstream release; suggests tcl76, tk42. + * gcl-doc contains gcl-si and gcl-tk info pages. + * debian/rules: clean target removes temporary files from h and o + subdirectories (bug #5984). + + -- Karl Sackett Fri, 3 Jan 1997 10:16:40 -0600 + +gcl (2.2-5) unstable; urgency=low + + * Converted package to 2.1.1.0 standard. + * Stripped gcltkaux (bug #5074). + * gcl-si and gcl-tk info pages converted to HTML. + + -- Karl Sackett Tue, 5 Nov 1996 13:30:30 -0600 + +2.2-4 + * add-defs: patched locates for tk.tcl, init.tcl + * gcl-tk/tkAppInit.c: patched for tk4.1 support + * gcl-tk/tkMain.c: patched for tk4.1 support +2.2-3 + * Debian support files now partily architecture independent. + There are, however, no add-defs files except for 386-linux. + * Rebuilt package to correct corrupted upload problem. +2.2-2 + * Removed tk support from distribution. This was written to + use tk-3.6 and doesn't support tk-4.0 or tk-4.1. I am not aware + of any plans to upgrade the code. (Closes bug #2865) +2.2-1 + * Added Debian support files + * h/386-linux.defs: set OFLAG = -O2 + * h/386-linux.h: undid patch that swaped signal.h for sigcontext.h diff --git a/control b/control new file mode 100644 index 0000000..4991e92 --- /dev/null +++ b/control @@ -0,0 +1,82 @@ +Source: gcl27 +Section: lisp +Priority: optional +Maintainer: Camm Maguire +Homepage: http://gnu.org/software/gcl +Build-Depends: debhelper-compat (= 13), libeditreadline-dev, m4, tk8.6-dev, libgmp-dev, libxmu-dev, libxaw7-dev, po-debconf, zlib1g-dev, tcl, texinfo, texlive-latex-extra, texlive-fonts-recommended, libtirpc-dev +Build-Depends-Indep: dh-elpa +Standards-Version: 4.5.0 + +Package: gcl27 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, ucf, libtirpc-dev +Suggests: gcl27-doc +Description: GNU Common Lisp compiler + GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter + implemented in C, and complying mostly with the standard set + forth in the book "Common Lisp, the Language I". It attempts + to strike a useful middle ground in performance and portability + from its design around C. + . + This package contains the Lisp system itself. Documentation + is provided in the gcl-doc package. + +Package: gcl27-tk +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, gcl27 (>= ${source:Version}) +Description: GNU Common Lisp compiler + GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter + implemented in C, and complying mostly with the standard set + forth in the book "Common Lisp, the Language I". It attempts + to strike a useful middle ground in performance and portability + from its design around C. + . + This package contains a graphical interface based on the popular + TCL/TK toolkit. + +Package: elpa-gcl27 +Architecture: all +Depends: gcl27 (>= ${source:Version}), emacs-gtk | emacsen, ${misc:Depends} +Section: lisp +Description: GNU Common Lisp compiler + GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter + implemented in C, and complying mostly with the standard set + forth in the book "Common Lisp, the Language I". It attempts + to strike a useful middle ground in performance and portability + from its design around C. + . + This package contains an emacs interface to GCL. + +Package: gcl27-doc +Section: doc +Architecture: all +Conflicts: gclinfo +Replaces: gclinfo +Depends: dpkg (>= 1.15.4), ${misc:Depends} +Multi-Arch: foreign +Description: Documentation for GNU Common Lisp + GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter + implemented in C, and complying mostly with the standard set + forth in the book "Common Lisp, the Language I". It attempts + to strike a useful middle ground in performance and portability + from its design around C. + . + This package contains documentation in info format of the + system internals. + +Package: gcl27-tk-doc +Section: doc +Architecture: all +Conflicts: gclinfo +Replaces: gclinfo +Depends: dpkg (>= 1.15.4), ${misc:Depends} +Multi-Arch: foreign +Description: Documentation for GNU Common Lisp + GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter + implemented in C, and complying mostly with the standard set + forth in the book "Common Lisp, the Language I". It attempts + to strike a useful middle ground in performance and portability + from its design around C. + . + This package contains documentation in info format of the + graphical interface currently implemented in Tcl/Tk. diff --git a/control_ b/control_ new file mode 100644 index 0000000..48ac25b --- /dev/null +++ b/control_ @@ -0,0 +1,39 @@ +Source: gcl +Section: lisp +Priority: optional +Maintainer: Camm Maguire +Homepage: http://gnu.org/software/gcl +Build-Depends: debhelper (>= 13), libeditreadline-dev, m4, tk8.6-dev, libgmp-dev, libxmu-dev, libxaw7-dev, po-debconf, zlib1g-dev, tcl, texinfo +Standards-Version: 4.5.0 + +Package: gcl +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, ${gcc}, emacs | emacsen, ucf +Breaks: emacsen-common (<< 2.0.0) +Suggests: gcl-doc +Description: GNU Common Lisp compiler + GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter + implemented in C, and complying mostly with the standard set + forth in the book "Common Lisp, the Language I". It attempts + to strike a useful middle ground in performance and portability + from its design around C. + . + This package contains the Lisp system itself. Documentation + is provided in the gcl-doc package. + +Package: gcl-doc +Section: doc +Architecture: all +Conflicts: gclinfo +Replaces: gclinfo +Depends: dpkg (>= 1.15.4), ${misc:Depends} +Description: Documentation for GNU Common Lisp + GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter + implemented in C, and complying mostly with the standard set + forth in the book "Common Lisp, the Language I". It attempts + to strike a useful middle ground in performance and portability + from its design around C. + . + This package contains Documentation in info format of both the + system internals, as well as the graphical interface currently + implemented in Tcl/Tk. diff --git a/control_27 b/control_27 new file mode 100644 index 0000000..4991e92 --- /dev/null +++ b/control_27 @@ -0,0 +1,82 @@ +Source: gcl27 +Section: lisp +Priority: optional +Maintainer: Camm Maguire +Homepage: http://gnu.org/software/gcl +Build-Depends: debhelper-compat (= 13), libeditreadline-dev, m4, tk8.6-dev, libgmp-dev, libxmu-dev, libxaw7-dev, po-debconf, zlib1g-dev, tcl, texinfo, texlive-latex-extra, texlive-fonts-recommended, libtirpc-dev +Build-Depends-Indep: dh-elpa +Standards-Version: 4.5.0 + +Package: gcl27 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, ucf, libtirpc-dev +Suggests: gcl27-doc +Description: GNU Common Lisp compiler + GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter + implemented in C, and complying mostly with the standard set + forth in the book "Common Lisp, the Language I". It attempts + to strike a useful middle ground in performance and portability + from its design around C. + . + This package contains the Lisp system itself. Documentation + is provided in the gcl-doc package. + +Package: gcl27-tk +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, gcl27 (>= ${source:Version}) +Description: GNU Common Lisp compiler + GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter + implemented in C, and complying mostly with the standard set + forth in the book "Common Lisp, the Language I". It attempts + to strike a useful middle ground in performance and portability + from its design around C. + . + This package contains a graphical interface based on the popular + TCL/TK toolkit. + +Package: elpa-gcl27 +Architecture: all +Depends: gcl27 (>= ${source:Version}), emacs-gtk | emacsen, ${misc:Depends} +Section: lisp +Description: GNU Common Lisp compiler + GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter + implemented in C, and complying mostly with the standard set + forth in the book "Common Lisp, the Language I". It attempts + to strike a useful middle ground in performance and portability + from its design around C. + . + This package contains an emacs interface to GCL. + +Package: gcl27-doc +Section: doc +Architecture: all +Conflicts: gclinfo +Replaces: gclinfo +Depends: dpkg (>= 1.15.4), ${misc:Depends} +Multi-Arch: foreign +Description: Documentation for GNU Common Lisp + GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter + implemented in C, and complying mostly with the standard set + forth in the book "Common Lisp, the Language I". It attempts + to strike a useful middle ground in performance and portability + from its design around C. + . + This package contains documentation in info format of the + system internals. + +Package: gcl27-tk-doc +Section: doc +Architecture: all +Conflicts: gclinfo +Replaces: gclinfo +Depends: dpkg (>= 1.15.4), ${misc:Depends} +Multi-Arch: foreign +Description: Documentation for GNU Common Lisp + GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter + implemented in C, and complying mostly with the standard set + forth in the book "Common Lisp, the Language I". It attempts + to strike a useful middle ground in performance and portability + from its design around C. + . + This package contains documentation in info format of the + graphical interface currently implemented in Tcl/Tk. diff --git a/control_cvs b/control_cvs new file mode 100644 index 0000000..ee7f6e1 --- /dev/null +++ b/control_cvs @@ -0,0 +1,39 @@ +Source: gclcvs +Section: lisp +Priority: optional +Maintainer: Camm Maguire +Homepage: http://gnu.org/software/gcl +Build-Depends: debhelper (>= 13), libeditreadline-dev, m4, tk8.6-dev, libgmp-dev, libxmu-dev, libxaw7-dev, po-debconf, zlib1g-dev, tcl, gcc-11 +Standards-Version: 4.5.0 + +Package: gclcvs +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, ${gcc}, emacs | emacsen, ucf +Breaks: emacsen-common (<< 2.0.0) +Suggests: gclcvs-doc +Description: GNU Common Lisp compiler, CVS snapshot + GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter + implemented in C, and complying mostly with the standard set + forth in the book "Common Lisp, the Language I". It attempts + to strike a useful middle ground in performance and portability + from its design around C. + . + This package contains the Lisp system itself. Documentation + is provided in the gclcvs-doc package. + +Package: gclcvs-doc +Section: doc +Architecture: all +Conflicts: gclinfo +Replaces: gclinfo +Depends: dpkg (>= 1.15.4), ${misc:Depends} +Description: Documentation for GNU Common Lisp, CVS snapshot + GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter + implemented in C, and complying mostly with the standard set + forth in the book "Common Lisp, the Language I". It attempts + to strike a useful middle ground in performance and portability + from its design around C. + . + This package contains Documentation in info format of both the + system internals, as well as the graphical interface currently + implemented in Tcl/Tk. diff --git a/copyright b/copyright new file mode 100644 index 0000000..fd70c5a --- /dev/null +++ b/copyright @@ -0,0 +1,97 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ + +Files: * +Copyright: 1989 The University of Texas at Austin,William F. Schelter + 1989 Free Software Foundation + 2024 Camm Maguire +License: LGPL-2 + +Files: cmpnew/* +Copyright: 1989 The University of Texas at Austin,William F. Schelter + 1994 M. Hagiya,T. Yuasa,William F. Schelter + 2024 Camm Maguire +License: LGPL-2 + +Files: elisp/* +Copyright: 1994,1998 William F. Schelter + 1985-1988 Free Software Foundation +License: GPL-2 + +Files: gcl-tk/* +Copyright: 1994 Rami el Charif,William F. Schelter + 1996 Sun Microsystems + 2024 Camm Maguire +License: LGPL-2 + +Files: h/* +Copyright: 1994 M. Hagiya,T. Yuasa,William F. Schelter + 2024 Camm Maguire +License: LGPL-2 + +Files: debian/* +Copyright: 2024 Camm Maguire +License: GPL-2 + +Files: ansi-tests/* +Copyright: 2004 Paul Dietz +License: LGPL-2 + +Files: ansi-tests/rt.lsp +Copyright: 1990 Massachusetts Institute of Technology +License: public-domain + +Files: info/* +Copyright: 1994 William F. Schelter +License: GPL-2 + +Files: lsp/* +Copyright: 1994 M. Hagiya,T. Yuasa,William F. Schelter + 1985,1986,1989,1990 William F. Schelter + 2024 Camm Maguire +License: LGPL-2 + +Files: mod/gcl_defpackage.lsp +Copyright: 1990,1991 lsp The Boeing Company + 2024 Camm Maguire +License: public-domain + +Files: o/* +Copyright: 1994 M. Hagiya,T. Yuasa,William F. Schelter,Rami el Charif + 1991 William F. Schelter + 1985-1994 Free Software Foundation + 2024 Camm Maguire +License: LGPL-2 + +Files: o/gcl_readline.d +Copyright: 2000 Tuukka Toivonen + 2024 Camm Maguire +License: LGPL-2 + +Files: pcl/* +Copyright: 1985-1990 Xerox Corporation + 1990 Franz Inc. + 2024 Camm Maguire +License: public-domain + +Files: xgcl-2/* +Copyright: 1987 Digital Equipment Corporation,Massachusetts Institute of Technology + 1994 Hiep Huu Nguyen,William F. Schelter,The University of Texas at Austin + 1994,1995,1996,2006,2007,2008,2010 Gordon S. Novak Jr.,The University of Texas at Austin + 1992 The University of Texas at Austin + 1989 Free Software Foundation + 2006 Hiep Huu Nguyen + 2024 Camm Maguire +License: GPL-2 + +License: GPL-2 + On Debian GNU/Linux systems, the complete text of the GNU General + Public License Version 2 can be found in + /usr/share/common-licenses/GPL-2. + +License: LGPL-2 + On Debian GNU/Linux systems, the complete text of the GNU General + Public License Version 2 can be found in + /usr/share/common-licenses/LGPL-2. + +License: public-domain + All permissions granted. diff --git a/debian-autoloads.el b/debian-autoloads.el new file mode 100644 index 0000000..ebf323f --- /dev/null +++ b/debian-autoloads.el @@ -0,0 +1,4 @@ +;;;###autoload +(autoload 'run "gcl" "" t) +;;;###autoload +(autoload 'dbl "dbl" "" t) diff --git a/gcl-pkg.el.in b/gcl-pkg.el.in new file mode 100644 index 0000000..2dfc613 --- /dev/null +++ b/gcl-pkg.el.in @@ -0,0 +1,3 @@ + +(define-package "gcl@EXT@" "@VR@" + "Emacs mode for running GCL.") diff --git a/gcl.sh b/gcl.sh new file mode 100755 index 0000000..b172b72 --- /dev/null +++ b/gcl.sh @@ -0,0 +1,33 @@ +#!/bin/sh + +EXT=@EXT@ +VERS=@VERS@ + +. /etc/default/gcl$EXT +if ! set | grep -q -w GCL_ANSI ; then GCL_ANSI=$DEFAULT_GCL_ANSI ; fi +if ! set | grep -q -w GCL_PROF ; then GCL_PROF=$DEFAULT_GCL_PROF ; fi + +DIR=/usr/lib/gcl-$VERS; + +if [ "$GCL_ANSI" = "" ] ; then + if [ "$GCL_PROF" = "" ] ; then + EXE=saved_gcl; + else + EXE=saved_gcl_gprof; + fi +else + if [ "$GCL_PROF" = "" ] ; then + EXE=saved_ansi_gcl; + else + EXE=saved_ansi_gcl_gprof; + fi +fi +SYS=$DIR/unixport + +exec $SYS/$EXE -dir $SYS/ -libdir $DIR/ \ + -eval '(setq si::*allow-gzipped-file* t)' \ + -eval '(setq si::*tk-library* "/usr/lib/tk@TKVERS@")' \ + -eval '(setq si::*default-info-files* (list "gcl@EXT@-si.info" "gcl@EXT@-tk.info" "gcl@EXT@.info"))' \ + "$@" + +# other options: -load /tmp/foo.o -load jo.lsp -eval "(joe 3)" diff --git a/gcl27.templates b/gcl27.templates new file mode 100644 index 0000000..be351d0 --- /dev/null +++ b/gcl27.templates @@ -0,0 +1,26 @@ +Template: gcl27/default_gcl_ansi +Type: boolean +_Description: Use the work-in-progress ANSI build by default? + GCL is in the process of providing an ANSI compliant image in addition to + its traditional CLtL1 image still in production use. Please see the + README.Debian file for a brief description of these terms. Setting this + variable will determine which image you will use by default on executing + 'gcl27'. You can locally override this choice by setting the GCL_ANSI + environment variable to any string but "no" for the ANSI build, and to + "no" for the CLtL1 build, e.g. GCL_ANSI=t gcl27. The + flavor of the build in force will be reported in the initial startup + banner. + +Template: gcl27/default_gcl_prof +Type: boolean +_Description: Use the profiling build by default? + GCL now has optional support for profiling via gprof. Please see the + documentation + for si::gprof-start and si::gprof-quit for details. As this build is slower + than builds without gprof support, it is not recommended for final production use. + You can locally override the default choice made here + by setting the + GCL_PROF environment variable to any non-empty string for profiling + support, and to the empty string for the more optimized builds, e.g. + GCL_PROF=t gcl27. If profiling is enabled, this will be reported in + the initial startup banner. diff --git a/in.gcl-clc.sh b/in.gcl-clc.sh new file mode 100644 index 0000000..e91b647 --- /dev/null +++ b/in.gcl-clc.sh @@ -0,0 +1,146 @@ +#!/bin/sh + +progname=$(basename $0) +clc_src=/usr/share/common-lisp/source + +if test ! -f $clc_src/common-lisp-controller/common-lisp-controller.lisp ; then + echo "Cannot find common-lisp-controller." 1>&2 + echo "Please report this as a bug." 1>&2 + exit 1 +fi + +export GCL_ANSI=true +gcl_bin=/usr/bin/gcl@EXT@ # is better than $(which gcl) + +command=$1 +shift + +build_error() +{ + echo "Error building $1" 1>&2 + exit 1 +} + +if [ "$command" = "make-user-image" ] ; then + echo $progname Building image with $1 ... + if test ! -r $1; then + echo "Trying to make user image: Cannot access file $1" 1>&2 + exit 1 + fi + + $gcl_bin <&2 + exit 1 + fi + + case $command in + rebuild) + while test -x $gcl_bin -a -n "$1" + do + echo $progname Rebuilding $1 ... + echo ' + (setq *compile-print* t) + (setq *compile-verbose* t) + (setq *load-verbose* t) + (setq *require-verbose* t) + (ignore-errors (clc:compile-library (quote '"$1"')) + (lisp:quit 0)) + (lisp:quit 1) + ' | $gcl_bin || build_error $1 + shift + done + ;; + + remove) + while test -n "$1" + do + echo $progname Removing $1 + rm -rf "${gcl_clc}$1" + shift + done + ;; + + install-clc) + if ! [ -e /etc/default/$(basename $gcl_bin) ] ; then + echo $(basename $gcl_bin) not configured, aborting + exit 5 + fi + echo $progname Uninstalling clc image and purging object cache ... + test -x $gcl_bin || { + echo "Cannot install as there is no GCL" + exit -1 + } + rm -rf $gcl_clc + mkdir -p $gcl_clc +# chown cl-builder.cl-builder $gcl_clc + + rm -f $image + + echo $progname Installing clc as $image ... + if test -x $gcl_bin; then + $gcl_bin < /dev/null 2>&1 || \ + echo "$progname: Unknown command '$command'" 1>&2 + echo "Usage: $progname " 1>&2 + echo "Where is one of:" 1>&2 + echo " install-clc, remove-clc," 1>&2 + echo " rebuild *, remove *," 1>&2 + echo " or make-user-image " 1>&2 + echo "And is a cl-debpkg (e.g. cl-rt)" 1>&2 + echo " with a defsystem/asdf definition." 1>&2 + exit 1 + ;; + esac + +done + +exit 0 diff --git a/in.gcl-doc.README.Debian b/in.gcl-doc.README.Debian new file mode 100644 index 0000000..b8d01a6 --- /dev/null +++ b/in.gcl-doc.README.Debian @@ -0,0 +1,9 @@ +New in 2.6.2 +------------ + +The gcl.texi files and the resulting html, info, and pdf outputs have +been removed pending an enquiry into the copyright and license status +of the dpANS documents upon which they are presumably based. + + + -- Camm Maguire , Fri, 9 May 2014 19:08:59 +0000 diff --git a/in.gcl-doc.doc-base.main b/in.gcl-doc.doc-base.main new file mode 100644 index 0000000..fa8c869 --- /dev/null +++ b/in.gcl-doc.doc-base.main @@ -0,0 +1,15 @@ +Document: gcl@EXT@-doc +Title: GNU Common Lisp Documentation +Author: W. Schelter +Abstract: A Common Lisp compiler and interpreter based on C +Section: Programming + +Format: DVI +Files: /usr/share/doc/gcl@EXT@/gcl@EXT@.dvi.gz + +Format: PDF +Files: /usr/share/doc/gcl@EXT@/gcl@EXT@.pdf.gz + +Format: HTML +Index: /usr/share/doc/gcl@EXT@/gcl@EXT@.html/index.html +Files: /usr/share/doc/gcl@EXT@/gcl@EXT@.html/*.html diff --git a/in.gcl-doc.doc-base.si b/in.gcl-doc.doc-base.si new file mode 100644 index 0000000..7760ae1 --- /dev/null +++ b/in.gcl-doc.doc-base.si @@ -0,0 +1,15 @@ +Document: gcl@EXT@-si-doc +Title: GNU Common Lisp Documentation -- System Internals +Author: W. Schelter +Abstract: Documentation on GCL-specific Lisp system functions +Section: Programming + +Format: DVI +Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-si.dvi.gz + +Format: PDF +Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-si.pdf.gz + +Format: HTML +Index: /usr/share/doc/gcl@EXT@/gcl@EXT@-si.html/index.html +Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-si.html/*.html diff --git a/in.gcl-doc.doc-base.xgcl b/in.gcl-doc.doc-base.xgcl new file mode 100644 index 0000000..447671a --- /dev/null +++ b/in.gcl-doc.doc-base.xgcl @@ -0,0 +1,15 @@ +Document: gcl@EXT@-xgcl-doc +Title: GNU Common Lisp Documentation -- System Internals +Author: W. Schelter +Abstract: Documentation on GCL-specific Lisp system functions +Section: Programming + +Format: DVI +Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.dvi.gz + +Format: PDF +Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.pdf.gz + +Format: HTML +Index: /usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.html/index.html +Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.html/*.html diff --git a/in.gcl-doc.docs b/in.gcl-doc.docs new file mode 100644 index 0000000..e845566 --- /dev/null +++ b/in.gcl-doc.docs @@ -0,0 +1 @@ +README diff --git a/in.gcl-doc.info b/in.gcl-doc.info new file mode 100644 index 0000000..9b70ccb --- /dev/null +++ b/in.gcl-doc.info @@ -0,0 +1,3 @@ +debian/tmp/usr/share/info/gcl@EXT@-si.info* +debian/tmp/usr/share/info/gcl@EXT@.info* +debian/tmp/usr/share/info/gcl@EXT@-dwdoc.info* diff --git a/in.gcl-doc.install b/in.gcl-doc.install new file mode 100644 index 0000000..b7b65ae --- /dev/null +++ b/in.gcl-doc.install @@ -0,0 +1,9 @@ +debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@.dvi +debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@.html +debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@.pdf +debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@-si.dvi +debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@-si.html +debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@-si.pdf +debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.dvi +debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.html +debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.pdf diff --git a/in.gcl-tk-doc.doc-base.tk b/in.gcl-tk-doc.doc-base.tk new file mode 100644 index 0000000..880e51f --- /dev/null +++ b/in.gcl-tk-doc.doc-base.tk @@ -0,0 +1,15 @@ +Document: gcl@EXT@-tk-doc +Title: GNU Common Lisp Tk Interface Documentation +Author: W. Schelter +Abstract: Documentation for Graphical Interface to GCL using TCL/Tk +Section: Programming + +Format: DVI +Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-tk*.dvi.gz + +Format: PDF +Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-tk*.pdf.gz + +Format: HTML +Index: /usr/share/doc/gcl@EXT@/gcl@EXT@-tk.html/index.html +Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-tk.html/*.html diff --git a/in.gcl-tk-doc.info b/in.gcl-tk-doc.info new file mode 100644 index 0000000..a46a498 --- /dev/null +++ b/in.gcl-tk-doc.info @@ -0,0 +1 @@ +debian/tmp/usr/share/info/gcl@EXT@-tk.info* diff --git a/in.gcl-tk-doc.install b/in.gcl-tk-doc.install new file mode 100644 index 0000000..82087da --- /dev/null +++ b/in.gcl-tk-doc.install @@ -0,0 +1,4 @@ +debian/tmp/usr/share/doc/gcl@EXT@/gcl27-tk.dvi +debian/tmp/usr/share/doc/gcl@EXT@/gcl27-tk.html +debian/tmp/usr/share/doc/gcl@EXT@/gcl27-tk.pdf +debian/tmp/usr/share/doc/gcl@EXT@/gcl-tk diff --git a/in.gcl-tk.install b/in.gcl-tk.install new file mode 100644 index 0000000..e7adf46 --- /dev/null +++ b/in.gcl-tk.install @@ -0,0 +1 @@ +debian/tmp/usr/lib/gcl-@VERS@/gcl-tk diff --git a/in.gcl-tk.lintian-overrides b/in.gcl-tk.lintian-overrides new file mode 100644 index 0000000..3f00755 --- /dev/null +++ b/in.gcl-tk.lintian-overrides @@ -0,0 +1,2 @@ +# FIXME +gcl@EXT@-tk: hardening-no-pie [usr/lib/gcl-@VERS@/gcl-tk/gcltkaux] diff --git a/in.gcl.1 b/in.gcl.1 new file mode 100644 index 0000000..5f92f04 --- /dev/null +++ b/in.gcl.1 @@ -0,0 +1,242 @@ +.TH GCL 1L "17 March 1997" +.SH NAME +gcl@EXT@ \- GCL Common Lisp interpreter/compiler +.SH SYNOPSIS +.B gcl@EXT@ +[ +.B options +] + +.SH DESCRIPTION + +The program +.I gcl@EXT@ +is an implementation of a subset of the Common Lisp Ansi standard. +It is written in C and in Common Lisp, and is highly portable. It +includes those features in the original definition of Common Lisp, +(Guy Steele version 1.), as well as some features from the proposed +new standard. +.LP +The best documentation is available in +.I texinfo/info +form, with there being three groups of information. +.I gcl@EXT@-si +for basic common lisp descriptions, and features unique to +.I gcl@EXT@ +The +.I gcl@EXT@-tk +info refers to the connection with +.I tk +window system, allowing all the power of the +.I tcl/tk +interaction system to be used from lisp. +The third info file +.I gcl@EXT@ +details the Ansi standard for common lisp, to which this subset +tries to adhere. It is highly recommended to write programs, +which will be in the intersection of gcl and ansi common lisp. +Unfortunately the Ansi standard is huge, and will require a substantial +effort, and increase in the size of gcl, to include all of it. +.LP +When +.I gcl@EXT@ +is invoked from the shell, the variable +.I si::*command-args* +is set to the list of command line arguments. +Various +.I options +are understood: +.TP +.BR \-eval\ command +.RB +Call read and then eval on the +.I command passed in. +.TP +.BR \-load\ pathname +.RB +Load the file whose +.I pathname +is specified after +.BR \-load . +.TP +.B \-f +Replace si::*command-args* by the the list starting after +.BR \-f . +Open the file following +.BR \-f for input, skip the first line, and +then read and eval the rest of the forms in the file. This can +be used as with the shells to write small shell programs: + +.LP +.br +#!/usr/local/bin/gcl.exe -f +.br +(format t "hello world ~a~%" (nth 1 si::*command-args*)) + +.BR +The value +.I si::*command-args* +will have the appropriate value. +Thus if the above 2 line file is made executable and called +.I foo +then + +.LP +.LP +.br +tutorial% foo billy +.br +hello world billy + +.BR +NOTE: On many systems (eg SunOs) the first line of an executable +script file such as: +.BR +#!/usr/local/bin/gcl.exe -f +only reads the first 32 characters! So if your pathname where +the executable together with the '-f' amount to more than 32 +characters the file will not be recognized. Also the executable +must be the actual large binary file, [or a link to it], and not +just a +.I /bin/sh +script. In latter case the +.I /bin/sh +interpreter would get invoked on the file. + +Alternately one could invoke the file +.I foo +without making it +executable: +.LP +.LP +.br +tutorial% gcl@EXT@ -f foo "from bill" +.br +hello world from bill + +.TP +.B \-batch +.RB +Do not enter the command print loop. Useful if the other command +line arguments do something. Do not print the License and +acknowledgement information. Note if your program does print any +License information, it must print the GCL header information also. + +.TP +.B \-dir +.RB +Directory where the executable binary that is running is located. +Needed by save and friends. This gets set as +si::*system-directory* + +.TP +.B \-libdir +.RB +.BR \-libdir +.I /d/wfs/gcl-2.0/ +.RB + +would mean that the files like gcl-tk/tk.o would be found by +concatting the path to the libdir path, ie in +.RB /d/wfs/gcl-2.0/gcl-tk/tk.o + +.TP +.B \-compile +.RB +Invoke the compiler on the filename following +.BR \-compile. +Other flags affect compilation. + +.TP +.B \-o-file +.RB +If nil follows +.BR \-o-file +then do not produce an +.I .o +file. + +.TP +.B \-c-file +.RB +If +.BR \-c-file +is specified, leave the intermediate +.I .c +file there. + +.TP +.B \-h-file +.RB If +.BR \-h-file +is specified, leave the intermediate +.I .h +file there. + +.TP +.B \-data-file +.RB If +.BR \-data-file +is specified, leave the intermediate +.I .data +file +there. + +.TP +.B \-system-p +.RB If +.BR \-system-p +is specified then invoke +.I compile-file +with the +.I :system-p t +keyword argument, meaning that the C init function +will bear a name based on the name of the file, so that it may be +invoked by name by C code. + + + + +This GNU package should not be confused with the proprietary program +distributed by FRANZ, Inc. Nor should it be confused with any public +domain or proprietary lisp system. + +For anything other than program development, use of the lisp compiler +is strongly recommended in preference to use of the interpreter, due +to much higher speed. +.\".LP +.\"This program may be used in conjunction with the UCSF +.\".I batchqueue +.\"system. +.\".SH "LOCAL ACCESS" +.\"Locally, access to all L\s-2ISP\s0 systems is made through a shared +.\"interactive front-end which assumes that the job is be run in batch mode +.\"unless the \fB\-i\fP option is activated, which starts an interactive session. +.\"Interactive sessions are limited to 30 cpu minutes. +.SH FILES +.TP +\fI/usr/bin/gcl +executable shell script wrapper +.TP +\fI/usr/lib/gcl-version/unixport/saved[_flavor]_gcl +executable lisp images +.SH "SEE ALSO" +.sp +\fICommon LISP: The Language\fP, Guy L. Steele, Jr., Digital Press, Bedford, MA, +1984. +.sp +\fICommon LISPcraft\fP, Robert Wilensky, W. W. Norton & Co., New York, 1984. +.SH AUTHORS + +The GCL system contains C and Lisp source files to build a Common Lisp +sytem. +CGL is derived from Kyoto Common LISP (\fIkcl\fP), +which was written in 1984 by T. Yuasa and M. Hagiya +(working under Professor R. Nakajima at the Research +Institute for Mathematical Sciences, Kyoto University). +The AKCL system work was begun in 1987 by +William Schelter at the University of Texas, Austin, and continued through 1994. +In 1994 AKCL was released as GCL (GNU Common Lisp) under the +GNU public library license. +.\" + diff --git a/in.gcl.config b/in.gcl.config new file mode 100644 index 0000000..3893a50 --- /dev/null +++ b/in.gcl.config @@ -0,0 +1,21 @@ +#!/bin/sh +CONFIGFILE=/etc/default/gcl@EXT@ +set -e +. /usr/share/debconf/confmodule + +db_set gcl@EXT@/default_gcl_ansi true + +# Load config file, if it exists. +if [ -e $CONFIGFILE ]; then + . $CONFIGFILE || true + + # Store values from config file into + # debconf db. + db_set gcl@EXT@/default_gcl_ansi $DEFAULT_GCL_ANSI + db_set gcl@EXT@/default_gcl_prof $DEFAULT_GCL_PROF +fi + +# Ask questions. +db_input medium gcl@EXT@/default_gcl_ansi || true +db_input medium gcl@EXT@/default_gcl_prof || true +db_go || true diff --git a/in.gcl.docs b/in.gcl.docs new file mode 100644 index 0000000..13fdf00 --- /dev/null +++ b/in.gcl.docs @@ -0,0 +1,2 @@ +sb_ansi-tests/test_results +sb_bench/timing_results diff --git a/in.gcl.install b/in.gcl.install new file mode 100644 index 0000000..b46b414 --- /dev/null +++ b/in.gcl.install @@ -0,0 +1,9 @@ +debian/tmp/usr/bin +debian/tmp/usr/share/man +debian/tmp/usr/lib/gcl-@VERS@/clcs +debian/tmp/usr/lib/gcl-@VERS@/cmpnew +debian/tmp/usr/lib/gcl-@VERS@/h +debian/tmp/usr/lib/gcl-@VERS@/lsp +debian/tmp/usr/lib/gcl-@VERS@/pcl +debian/tmp/usr/lib/gcl-@VERS@/unixport +debian/tmp/usr/lib/gcl-@VERS@/xgcl-2 diff --git a/in.gcl.lintian-overrides b/in.gcl.lintian-overrides new file mode 100644 index 0000000..cfc4ddc --- /dev/null +++ b/in.gcl.lintian-overrides @@ -0,0 +1,10 @@ +gcl@EXT@: binary-compiled-with-profiling-enabled [usr/lib/gcl-@VERS@/unixport/saved_ansi_gcl_gprof] +gcl@EXT@: binary-compiled-with-profiling-enabled [usr/lib/gcl-@VERS@/unixport/saved_gcl_gprof] +gcl@EXT@: binary-compiled-with-profiling-enabled [usr/lib/gcl-@VERS@/unixport/saved_ansi_gcl] +gcl@EXT@: binary-compiled-with-profiling-enabled [usr/lib/gcl-@VERS@/unixport/saved_gcl] +gcl@EXT@: hardening-no-pie [usr/lib/gcl-@VERS@/unixport/saved_ansi_gcl_gprof] +gcl@EXT@: hardening-no-pie [usr/lib/gcl-@VERS@/unixport/saved_gcl_gprof] +gcl@EXT@: hardening-no-pie [usr/lib/gcl-@VERS@/unixport/saved_ansi_gcl] +gcl@EXT@: hardening-no-pie [usr/lib/gcl-@VERS@/unixport/saved_gcl] +gcl@EXT@: hardening-no-relro [usr/lib/gcl-@VERS@/unixport/libboot.so] +gcl@EXT@: shared-library-lacks-prerequisites [usr/lib/gcl-@VERS@/unixport/libboot.so] diff --git a/in.gcl.manpages b/in.gcl.manpages new file mode 100644 index 0000000..0b22534 --- /dev/null +++ b/in.gcl.manpages @@ -0,0 +1 @@ +debian/tmp/usr/share/man/man1/gcl@EXT@.1 diff --git a/in.gcl.postinst b/in.gcl.postinst new file mode 100644 index 0000000..917588b --- /dev/null +++ b/in.gcl.postinst @@ -0,0 +1,42 @@ +#!/bin/sh +case "$1" in + configure) + +# CONFIGFILE=$(tempfile -m 644) + CONFIGFILE=$(mktemp) + chmod 644 $CONFIGFILE + set -e + . /usr/share/debconf/confmodule + + if [ "$1" = "configure" ] || [ "$1" = "reconfigure" ] ; then + + db_get gcl@EXT@/default_gcl_ansi + + if [ "$RET" = "true" ] ; then + DEFAULT_GCL_ANSI=t + else + DEFAULT_GCL_ANSI= + fi + + db_get gcl@EXT@/default_gcl_prof + + if [ "$RET" = "true" ] ; then + DEFAULT_GCL_PROF=y + else + DEFAULT_GCL_PROF= + fi + + echo "DEFAULT_GCL_ANSI=$DEFAULT_GCL_ANSI" >> $CONFIGFILE + echo "DEFAULT_GCL_PROF=$DEFAULT_GCL_PROF" >> $CONFIGFILE + + fi + + ucf --debconf-ok $CONFIGFILE /etc/default/gcl@EXT@ + ucfr gcl@EXT@ /etc/default/gcl@EXT@ + +# chmod 644 /etc/default/gcl@EXT@ + +esac + +#DEBHELPER# + diff --git a/in.gcl.postrm b/in.gcl.postrm new file mode 100644 index 0000000..5360f7d --- /dev/null +++ b/in.gcl.postrm @@ -0,0 +1,22 @@ +#!/bin/sh + +set -e + +case "$1" in + purge) + for ext in '~' '%' .bak .ucf-new .ucf-old .ucf-dist; do + rm -f /etc/default/gcl@EXT@$ext + done + + rm -f /etc/default/gcl@EXT@ + + if which ucf >/dev/null; then + ucf --purge /etc/default/gcl@EXT@ + fi + if which ucfr >/dev/null; then + ucfr --purge gcl@EXT@ /etc/default/gcl@EXT@ + fi + ;; +esac + +#DEBHELPER# diff --git a/in.gcl.templates b/in.gcl.templates new file mode 100644 index 0000000..ccbc134 --- /dev/null +++ b/in.gcl.templates @@ -0,0 +1,26 @@ +Template: gcl@EXT@/default_gcl_ansi +Type: boolean +_Description: Use the work-in-progress ANSI build by default? + GCL is in the process of providing an ANSI compliant image in addition to + its traditional CLtL1 image still in production use. Please see the + README.Debian file for a brief description of these terms. Setting this + variable will determine which image you will use by default on executing + 'gcl@EXT@'. You can locally override this choice by setting the GCL_ANSI + environment variable to any string but "no" for the ANSI build, and to + "no" for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The + flavor of the build in force will be reported in the initial startup + banner. + +Template: gcl@EXT@/default_gcl_prof +Type: boolean +_Description: Use the profiling build by default? + GCL now has optional support for profiling via gprof. Please see the + documentation + for si::gprof-start and si::gprof-quit for details. As this build is slower + than builds without gprof support, it is not recommended for final production use. + You can locally override the default choice made here + by setting the + GCL_PROF environment variable to any non-empty string for profiling + support, and to the empty string for the more optimized builds, e.g. + GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in + the initial startup banner. diff --git a/old.in.gcl-doc.doc-base.main b/old.in.gcl-doc.doc-base.main new file mode 100644 index 0000000..2d6f3d1 --- /dev/null +++ b/old.in.gcl-doc.doc-base.main @@ -0,0 +1,12 @@ +Document: gcl@EXT@-doc +Title: GNU Common Lisp Documentation +Author: W. Schelter +Abstract: A Common Lisp compiler and interpreter based on C +Section: Apps/Programming + +Format: DVI +Files: /usr/share/doc/gcl@EXT@-doc/gcl.dvi.gz /usr/share/doc/gcl@EXT@-doc/gcl.dvi + +Format: HTML +Index: /usr/share/doc/gcl@EXT@-doc/gcl/index.html +Files: /usr/share/doc/gcl@EXT@-doc/gcl/*.html diff --git a/patches/Version_2_7_2ore3 b/patches/Version_2_7_2ore3 new file mode 100644 index 0000000..5995e41 --- /dev/null +++ b/patches/Version_2_7_2ore3 @@ -0,0 +1,1172 @@ +Description: Update to git tag Version_2_7_2pre3 + Git tag update +Forwarded: not-needed +Author: Camm Maguire + +--- gcl27-2.7.1.orig/Makefile.am ++++ gcl27-2.7.1/Makefile.am +@@ -23,7 +23,7 @@ gcltkdocdir=$(docdir)/gcl-tk + + # primaries + +-noinst_PROGRAMS=bin/dpp o/grab_defs ++noinst_PROGRAMS=bin/dpp$(EXEEXT) o/grab_defs$(EXEEXT) + noinst_LIBRARIES=lib/libbase_gcl.a + + my_unixport_PROGRAMS=unixport/saved_gcl unixport/saved_ansi_gcl +@@ -31,7 +31,7 @@ my_unixport_LIBRARIES=unixport/libgcl.a + bin_SCRIPTS=bin/gcl + check_SCRIPTS=sb_ansi-tests/test_results sb_bench/timing_results + info_TEXINFOS=info/gcl.texi info/gcl-si.texi +-my_unixport_DATA=$(addprefix unixport/,init_raw.lsp gcl.script libboot.so \ ++my_unixport_DATA=$(LIBBOOTSO) $(addprefix unixport/,init_raw.lsp gcl.script \ + gcl_cmpnopt_gcl.lsp gcl_cmpnopt_ansi_gcl.lsp) + my_h_DATA=h/cmpinclude.h + my_cmpnew_DATA=sb_cmpnew/gcl_collectfn.o cmpnew/gcl_lfun_list.lsp cmpnew/gcl_cmpopt.lsp +@@ -48,6 +48,12 @@ dist_noinst_DATA= + + # conditionals + ++if AMM_LIBBOOT ++LIBBOOTSO=unixport/libboot.so ++else ++BOOT_C=o/boot.c ++endif ++ + if AMM_GPROF + + LIBGPROF=lib/libgprof.a +@@ -165,7 +171,7 @@ endif + BUILT_SOURCES=$(BUILT_H) $(BUILT_C) + CLEANFILES=$(BUILT_SOURCES) $(INI_FILES) o/boot.ini + +-lib_libbase_gcl_a_SOURCES=$(C_SRC) $(BASE_H) $(CMPI_H) $(ARCHT_H) ++lib_libbase_gcl_a_SOURCES=$(C_SRC) $(BASE_H) $(CMPI_H) $(ARCHT_H) $(BOOT_C) + nodist_lib_libbase_gcl_a_SOURCES=$(BUILT_C) + lib_libgprof_a_SOURCES=o/gprof.c + lib_libgprof_a_CFLAGS=$(AM_CFLAGS) -fno-omit-frame-pointer -pg +@@ -237,7 +243,7 @@ $(addprefix unixport/saved_,gcl ansi_gcl + unixport/saved_%: unixport/raw_% # rebuild these only when out of date + + unixport/saved_%: | unixport/raw_% unixport/gcl_cmpnopt_%.lsp \ +- unixport/libboot.so unixport/init_raw.lsp ++ $(LIBBOOTSO) unixport/init_raw.lsp + rm -rf sb_$* # FIXME sandbox ugliness for parallel builds + mkdir sb_$* + cd sb_$* && \ +@@ -245,14 +251,17 @@ unixport/saved_%: | unixport/raw_% unixp + ln -snf gcl_cmpnopt_$*.lsp ../unixport/gcl_cmpnopt.lsp && \ + mkdir h && \ + ln -snf ../../h/cmpinclude.h h/ && \ +- echo "(system:save-system \"../$@\")" | cat ../unixport/init_raw.lsp - | \ ++ touch prof_init.lsp && \ ++ ( ! echo $@ | grep -q _gprof$$ || echo "(setq compiler::*default-prof-p* t)" >prof_init.lsp ) && \ ++ echo "(system:save-system \"../$@\")" | \ ++ cat ../unixport/init_raw.lsp prof_init.lsp - | \ + GCL_LSPSYSDIR=../$(srcdir)/unixport/ GCL_MEM_BOUND=29 \ + ../unixport/raw_$* $$(dirname $$(pwd))/unixport/ -libdir $$(dirname $$(pwd))/ && \ + rm -f ../unixport/gcl_cmpnopt.lsp #FIXME GCL_MEM_BOUND darwin limited raw heap xcode linker __huge issue + rm -rf sb_$* + +-unixport/raw_%: unixport/lib%.a +- $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $< $(LIBS) #FIXME relro ++unixport/raw_%: unixport/lib%.a $(FF) $(LF) ++ $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $(FF) $< $(LF) $(LIBS) #FIXME relro + + unixport/gcl_cmpnopt_gcl_gprof.lsp unixport/gcl_cmpnopt_ansi_gcl_gprof.lsp:\ + unixport/gcl_cmpnopt_%_gprof.lsp: unixport/gcl_cmpnopt_%.lsp +@@ -464,15 +473,15 @@ o/boot.h: %.h: %.ini + cat $< >> $@ + echo '}' >> $@ + +-CLEANFILES+=unixport/libboot.so +-unixport/libboot.so: o/boot.c o/boot.h ++CLEANFILES+=$(LIBBOOTSO) ++$(LIBBOOTSO): o/boot.c o/boot.h + $(CC) $(AM_CPPFLAGS) -Io $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \ + -fPIC -shared -Wl,-undefined -Wl,dynamic_lookup $< -o $@ + + o/boot.ini: CPPFLAGS += -DNO_BOOT_H + # parallel builds can only have one target accessing an intermediate file + # solved with BUILT_SOURCES +-o/%.ini: o/%.c | o/grab_defs ++o/%.ini: o/%.c | o/grab_defs$(EXEEXT) + @$(CPP) $(AM_CPPFLAGS) -P -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F) + @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@ + @rm -f new_$(@F) +@@ -540,8 +549,8 @@ sb_cmpnew/gcl_collectfn.o: cmpnew/gcl_co + [ -d $(@D) ] || mkdir -p $(@D) + $(word 1,$|) -compile $< -o $@ + +-%.c: %.d | bin/dpp +- bin/dpp $< $@ ++%.c: %.d | bin/dpp$(EXEEXT) ++ $| $< $@ + + gcl-tk/demos gcl-tk $(MY_DIRS): % : + [ -d $@ ] || mkdir -p $@ +--- gcl27-2.7.1.orig/Makefile.in ++++ gcl27-2.7.1/Makefile.in +@@ -93,7 +93,6 @@ PRE_UNINSTALL = : + POST_UNINSTALL = : + build_triplet = @build@ + host_triplet = @host@ +-noinst_PROGRAMS = bin/dpp$(EXEEXT) o/grab_defs$(EXEEXT) + my_unixport_PROGRAMS = unixport/saved_gcl$(EXEEXT) \ + unixport/saved_ansi_gcl$(EXEEXT) $(am__EXEEXT_1) + @AMM_GPROF_TRUE@am__append_1 = $(LIBGPROF) lib/libbase_gcl_gprof.a +@@ -176,6 +175,56 @@ am__v_AR_1 = + lib_libbase_gcl_a_AR = $(AR) $(ARFLAGS) + lib_libbase_gcl_a_RANLIB = $(RANLIB) + lib_libbase_gcl_a_LIBADD = ++am__lib_libbase_gcl_a_SOURCES_DIST = o/typespec.c o/alloc.c o/gbc.c \ ++ o/bitop.c o/main.c o/eval.c o/macros.c o/lex.c o/bds.c \ ++ o/frame.c o/predicate.c o/reference.c o/assignment.c o/bind.c \ ++ o/let.c o/conditional.c o/block.c o/iteration.c o/prog.c \ ++ o/multival.c o/catch.c o/cfun.c o/cmpaux.c o/big.c o/number.c \ ++ o/num_pred.c o/num_comp.c o/num_arith.c o/num_sfun.c \ ++ o/num_co.c o/num_log.c o/num_rand.c o/earith.c o/array.c \ ++ o/regexpr.c o/structure.c o/toplevel.c o/backq.c o/format.c \ ++ o/unixfsys.c o/unixfasl.c o/error.c o/unixtime.c o/unixsys.c \ ++ o/unixsave.c o/funlink.c o/fat_string.c o/run_process.c \ ++ o/nfunlink.c o/usig.c o/usig2.c o/utils.c o/makefun.c \ ++ o/sockets.c o/gmp_wrappers.c o/clxsocket.c o/nsocket.c \ ++ o/prelink.c o/sfasl.c o/msbrk.c o/bcmp.c o/bcopy.c o/bzero.c \ ++ o/user_init.c o/user_match.c o/mapfun.c h/compbas2.h \ ++ h/compbas.h h/compprotos.h h/cstack.h h/enum.h h/error.h \ ++ h/eval.h h/fixnum.h h/frame.h h/funlink.h h/globals.h \ ++ h/gmp_wrappers.h h/immnum.h h/include.h h/lex.h h/linux.h \ ++ h/lu.h h/make-init.h h/mp.h h/notcomp.h h/num_include.h \ ++ h/object.h h/options.h h/page.h h/pageinfo.h h/pbits.h \ ++ h/pool.h h/prelink.h h/protoize.h h/ptable.h h/rgbc.h \ ++ h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h h/writable.h \ ++ o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h \ ++ h/compat.h h/apply_n.h gcl-tk/sheader.h h/make-decl.h \ ++ h/defun.h o/ntheap.h h/compdefs.h h/cmpincl1.h h/mgmp.h \ ++ h/cmponly_last.h h/elf32_armhf_reloc.h \ ++ h/elf32_armhf_reloc_special.h h/elf32_arm_reloc.h \ ++ h/elf32_arm_reloc_special.h h/elf32_hppa_reloc.h \ ++ h/elf32_hppa_reloc_special.h h/elf32_i386_reloc.h \ ++ h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \ ++ h/elf32_mips_reloc_special.h h/elf32_ppc_reloc.h \ ++ h/elf32_s390_reloc.h h/elf32_sh4_reloc.h h/elf32_sparc_reloc.h \ ++ h/elf64_aarch64_reloc.h h/elf64_aarch64_reloc_special.h \ ++ h/elf64_alpha_reloc.h h/elf64_alpha_reloc_special.h \ ++ h/elf64_i386_reloc.h h/elf64_i386_reloc_special.h \ ++ h/elf64_loongarch64_reloc.h \ ++ h/elf64_loongarch64_reloc_special.h h/elf64_mips_reloc.h \ ++ h/elf64_mips_reloc_special.h h/elf64_ppcle_reloc.h \ ++ h/elf64_ppcle_reloc_special.h h/elf64_ppc_reloc.h \ ++ h/elf64_ppc_reloc_special.h h/elf64_riscv64_reloc.h \ ++ h/elf64_s390_reloc.h h/elf64_sparc_reloc.h \ ++ h/elf64_sparc_reloc_special.h h/mach32_i386_reloc.h \ ++ h/mach32_ppc_reloc.h h/mach64_i386_reloc.h h/sh4-linux.h \ ++ h/amd64-linux.h h/amd64-kfreebsd.h h/386-linux.h \ ++ h/riscv64-linux.h h/386-kfreebsd.h h/amd64-gnu.h h/386-gnu.h \ ++ h/m68k-linux.h h/alpha-linux.h h/mips-linux.h h/mipsel-linux.h \ ++ h/sparc-linux.h h/aarch64-linux.h h/armhf-linux.h \ ++ h/arm-linux.h h/s390-linux.h h/ia64-linux.h h/hppa-linux.h \ ++ h/loongarch64-linux.h h/powerpc-linux.h h/powerpc-macosx.h \ ++ h/386-macosx.h h/mingw.h h/gnuwin95.h h/FreeBSD.h h/solaris.h \ ++ h/solaris-i386.h o/boot.c + am__dirstamp = $(am__leading_dot)dirstamp + am__objects_1 = o/typespec.$(OBJEXT) o/alloc.$(OBJEXT) o/gbc.$(OBJEXT) \ + o/bitop.$(OBJEXT) o/main.$(OBJEXT) o/eval.$(OBJEXT) \ +@@ -202,20 +251,71 @@ am__objects_1 = o/typespec.$(OBJEXT) o/a + o/bzero.$(OBJEXT) o/user_init.$(OBJEXT) o/user_match.$(OBJEXT) \ + o/mapfun.$(OBJEXT) + am__objects_2 = ++@AMM_LIBBOOT_FALSE@am__objects_3 = o/boot.$(OBJEXT) + am_lib_libbase_gcl_a_OBJECTS = $(am__objects_1) $(am__objects_2) \ +- $(am__objects_2) $(am__objects_2) +-am__objects_3 = o/character.$(OBJEXT) o/file.$(OBJEXT) \ ++ $(am__objects_2) $(am__objects_2) $(am__objects_3) ++am__objects_4 = o/character.$(OBJEXT) o/file.$(OBJEXT) \ + o/gcl_readline.$(OBJEXT) o/hash.$(OBJEXT) o/list.$(OBJEXT) \ + o/package.$(OBJEXT) o/pathname.$(OBJEXT) o/print.$(OBJEXT) \ + o/read.$(OBJEXT) o/sequence.$(OBJEXT) o/string.$(OBJEXT) \ + o/symbol.$(OBJEXT) o/new_init.$(OBJEXT) +-nodist_lib_libbase_gcl_a_OBJECTS = $(am__objects_3) ++nodist_lib_libbase_gcl_a_OBJECTS = $(am__objects_4) + lib_libbase_gcl_a_OBJECTS = $(am_lib_libbase_gcl_a_OBJECTS) \ + $(nodist_lib_libbase_gcl_a_OBJECTS) + lib_libbase_gcl_gprof_a_AR = $(AR) $(ARFLAGS) + lib_libbase_gcl_gprof_a_RANLIB = $(RANLIB) + lib_libbase_gcl_gprof_a_LIBADD = +-am__objects_4 = o/lib_libbase_gcl_gprof_a-typespec.$(OBJEXT) \ ++am__lib_libbase_gcl_gprof_a_SOURCES_DIST = o/typespec.c o/alloc.c \ ++ o/gbc.c o/bitop.c o/main.c o/eval.c o/macros.c o/lex.c o/bds.c \ ++ o/frame.c o/predicate.c o/reference.c o/assignment.c o/bind.c \ ++ o/let.c o/conditional.c o/block.c o/iteration.c o/prog.c \ ++ o/multival.c o/catch.c o/cfun.c o/cmpaux.c o/big.c o/number.c \ ++ o/num_pred.c o/num_comp.c o/num_arith.c o/num_sfun.c \ ++ o/num_co.c o/num_log.c o/num_rand.c o/earith.c o/array.c \ ++ o/regexpr.c o/structure.c o/toplevel.c o/backq.c o/format.c \ ++ o/unixfsys.c o/unixfasl.c o/error.c o/unixtime.c o/unixsys.c \ ++ o/unixsave.c o/funlink.c o/fat_string.c o/run_process.c \ ++ o/nfunlink.c o/usig.c o/usig2.c o/utils.c o/makefun.c \ ++ o/sockets.c o/gmp_wrappers.c o/clxsocket.c o/nsocket.c \ ++ o/prelink.c o/sfasl.c o/msbrk.c o/bcmp.c o/bcopy.c o/bzero.c \ ++ o/user_init.c o/user_match.c o/mapfun.c h/compbas2.h \ ++ h/compbas.h h/compprotos.h h/cstack.h h/enum.h h/error.h \ ++ h/eval.h h/fixnum.h h/frame.h h/funlink.h h/globals.h \ ++ h/gmp_wrappers.h h/immnum.h h/include.h h/lex.h h/linux.h \ ++ h/lu.h h/make-init.h h/mp.h h/notcomp.h h/num_include.h \ ++ h/object.h h/options.h h/page.h h/pageinfo.h h/pbits.h \ ++ h/pool.h h/prelink.h h/protoize.h h/ptable.h h/rgbc.h \ ++ h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h h/writable.h \ ++ o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h \ ++ h/compat.h h/apply_n.h gcl-tk/sheader.h h/make-decl.h \ ++ h/defun.h o/ntheap.h h/compdefs.h h/cmpincl1.h h/mgmp.h \ ++ h/cmponly_last.h h/elf32_armhf_reloc.h \ ++ h/elf32_armhf_reloc_special.h h/elf32_arm_reloc.h \ ++ h/elf32_arm_reloc_special.h h/elf32_hppa_reloc.h \ ++ h/elf32_hppa_reloc_special.h h/elf32_i386_reloc.h \ ++ h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \ ++ h/elf32_mips_reloc_special.h h/elf32_ppc_reloc.h \ ++ h/elf32_s390_reloc.h h/elf32_sh4_reloc.h h/elf32_sparc_reloc.h \ ++ h/elf64_aarch64_reloc.h h/elf64_aarch64_reloc_special.h \ ++ h/elf64_alpha_reloc.h h/elf64_alpha_reloc_special.h \ ++ h/elf64_i386_reloc.h h/elf64_i386_reloc_special.h \ ++ h/elf64_loongarch64_reloc.h \ ++ h/elf64_loongarch64_reloc_special.h h/elf64_mips_reloc.h \ ++ h/elf64_mips_reloc_special.h h/elf64_ppcle_reloc.h \ ++ h/elf64_ppcle_reloc_special.h h/elf64_ppc_reloc.h \ ++ h/elf64_ppc_reloc_special.h h/elf64_riscv64_reloc.h \ ++ h/elf64_s390_reloc.h h/elf64_sparc_reloc.h \ ++ h/elf64_sparc_reloc_special.h h/mach32_i386_reloc.h \ ++ h/mach32_ppc_reloc.h h/mach64_i386_reloc.h h/sh4-linux.h \ ++ h/amd64-linux.h h/amd64-kfreebsd.h h/386-linux.h \ ++ h/riscv64-linux.h h/386-kfreebsd.h h/amd64-gnu.h h/386-gnu.h \ ++ h/m68k-linux.h h/alpha-linux.h h/mips-linux.h h/mipsel-linux.h \ ++ h/sparc-linux.h h/aarch64-linux.h h/armhf-linux.h \ ++ h/arm-linux.h h/s390-linux.h h/ia64-linux.h h/hppa-linux.h \ ++ h/loongarch64-linux.h h/powerpc-linux.h h/powerpc-macosx.h \ ++ h/386-macosx.h h/mingw.h h/gnuwin95.h h/FreeBSD.h h/solaris.h \ ++ h/solaris-i386.h o/boot.c o/gprof.c ++am__objects_5 = o/lib_libbase_gcl_gprof_a-typespec.$(OBJEXT) \ + o/lib_libbase_gcl_gprof_a-alloc.$(OBJEXT) \ + o/lib_libbase_gcl_gprof_a-gbc.$(OBJEXT) \ + o/lib_libbase_gcl_gprof_a-bitop.$(OBJEXT) \ +@@ -281,11 +381,13 @@ am__objects_4 = o/lib_libbase_gcl_gprof_ + o/lib_libbase_gcl_gprof_a-user_init.$(OBJEXT) \ + o/lib_libbase_gcl_gprof_a-user_match.$(OBJEXT) \ + o/lib_libbase_gcl_gprof_a-mapfun.$(OBJEXT) +-am__objects_5 = $(am__objects_4) $(am__objects_2) $(am__objects_2) \ +- $(am__objects_2) +-am_lib_libbase_gcl_gprof_a_OBJECTS = $(am__objects_5) \ ++@AMM_LIBBOOT_FALSE@am__objects_6 = \ ++@AMM_LIBBOOT_FALSE@ o/lib_libbase_gcl_gprof_a-boot.$(OBJEXT) ++am__objects_7 = $(am__objects_5) $(am__objects_2) $(am__objects_2) \ ++ $(am__objects_2) $(am__objects_6) ++am_lib_libbase_gcl_gprof_a_OBJECTS = $(am__objects_7) \ + o/lib_libbase_gcl_gprof_a-gprof.$(OBJEXT) +-am__objects_6 = o/lib_libbase_gcl_gprof_a-character.$(OBJEXT) \ ++am__objects_8 = o/lib_libbase_gcl_gprof_a-character.$(OBJEXT) \ + o/lib_libbase_gcl_gprof_a-file.$(OBJEXT) \ + o/lib_libbase_gcl_gprof_a-gcl_readline.$(OBJEXT) \ + o/lib_libbase_gcl_gprof_a-hash.$(OBJEXT) \ +@@ -298,8 +400,8 @@ am__objects_6 = o/lib_libbase_gcl_gprof_ + o/lib_libbase_gcl_gprof_a-string.$(OBJEXT) \ + o/lib_libbase_gcl_gprof_a-symbol.$(OBJEXT) \ + o/lib_libbase_gcl_gprof_a-new_init.$(OBJEXT) +-am__objects_7 = $(am__objects_6) +-nodist_lib_libbase_gcl_gprof_a_OBJECTS = $(am__objects_7) ++am__objects_9 = $(am__objects_8) ++nodist_lib_libbase_gcl_gprof_a_OBJECTS = $(am__objects_9) + lib_libbase_gcl_gprof_a_OBJECTS = \ + $(am_lib_libbase_gcl_gprof_a_OBJECTS) \ + $(nodist_lib_libbase_gcl_gprof_a_OBJECTS) +@@ -311,20 +413,20 @@ lib_libgprof_a_OBJECTS = $(am_lib_libgpr + lib_libxgcl_a_AR = $(AR) $(ARFLAGS) + lib_libxgcl_a_RANLIB = $(RANLIB) + lib_libxgcl_a_LIBADD = +-am__objects_8 = xgcl-2/Events.$(OBJEXT) xgcl-2/general-c.$(OBJEXT) \ ++am__objects_10 = xgcl-2/Events.$(OBJEXT) xgcl-2/general-c.$(OBJEXT) \ + xgcl-2/XStruct-2.$(OBJEXT) xgcl-2/XStruct-4.$(OBJEXT) \ + xgcl-2/Xutil-2.$(OBJEXT) +-am_lib_libxgcl_a_OBJECTS = $(am__objects_8) ++am_lib_libxgcl_a_OBJECTS = $(am__objects_10) + lib_libxgcl_a_OBJECTS = $(am_lib_libxgcl_a_OBJECTS) + lib_libxgcl_gprof_a_AR = $(AR) $(ARFLAGS) + lib_libxgcl_gprof_a_RANLIB = $(RANLIB) + lib_libxgcl_gprof_a_LIBADD = +-am__objects_9 = xgcl-2/lib_libxgcl_gprof_a-Events.$(OBJEXT) \ ++am__objects_11 = xgcl-2/lib_libxgcl_gprof_a-Events.$(OBJEXT) \ + xgcl-2/lib_libxgcl_gprof_a-general-c.$(OBJEXT) \ + xgcl-2/lib_libxgcl_gprof_a-XStruct-2.$(OBJEXT) \ + xgcl-2/lib_libxgcl_gprof_a-XStruct-4.$(OBJEXT) \ + xgcl-2/lib_libxgcl_gprof_a-Xutil-2.$(OBJEXT) +-am_lib_libxgcl_gprof_a_OBJECTS = $(am__objects_9) ++am_lib_libxgcl_gprof_a_OBJECTS = $(am__objects_11) + lib_libxgcl_gprof_a_OBJECTS = $(am_lib_libxgcl_gprof_a_OBJECTS) + unixport_libansi_gcl_a_AR = $(AR) $(ARFLAGS) + unixport_libansi_gcl_a_RANLIB = $(RANLIB) +@@ -351,10 +453,10 @@ unixport_libgcl_gprof_a_OBJECTS = \ + bin_dpp_SOURCES = bin/dpp.c + bin_dpp_OBJECTS = bin/dpp.$(OBJEXT) + bin_dpp_LDADD = $(LDADD) +-am__objects_10 = gcl-tk/gcltkaux-guis.$(OBJEXT) \ ++am__objects_12 = gcl-tk/gcltkaux-guis.$(OBJEXT) \ + gcl-tk/gcltkaux-tkAppInit.$(OBJEXT) \ + gcl-tk/gcltkaux-tkMain.$(OBJEXT) +-am_gcl_tk_gcltkaux_OBJECTS = $(am__objects_10) ++am_gcl_tk_gcltkaux_OBJECTS = $(am__objects_12) + gcl_tk_gcltkaux_OBJECTS = $(am_gcl_tk_gcltkaux_OBJECTS) + am__DEPENDENCIES_1 = + gcl_tk_gcltkaux_DEPENDENCIES = $(am__DEPENDENCIES_1) \ +@@ -400,8 +502,8 @@ am__depfiles_remade = bin/$(DEPDIR)/dpp. + o/$(DEPDIR)/array.Po o/$(DEPDIR)/assignment.Po \ + o/$(DEPDIR)/backq.Po o/$(DEPDIR)/bcmp.Po o/$(DEPDIR)/bcopy.Po \ + o/$(DEPDIR)/bds.Po o/$(DEPDIR)/big.Po o/$(DEPDIR)/bind.Po \ +- o/$(DEPDIR)/bitop.Po o/$(DEPDIR)/block.Po o/$(DEPDIR)/bzero.Po \ +- o/$(DEPDIR)/catch.Po o/$(DEPDIR)/cfun.Po \ ++ o/$(DEPDIR)/bitop.Po o/$(DEPDIR)/block.Po o/$(DEPDIR)/boot.Po \ ++ o/$(DEPDIR)/bzero.Po o/$(DEPDIR)/catch.Po o/$(DEPDIR)/cfun.Po \ + o/$(DEPDIR)/character.Po o/$(DEPDIR)/clxsocket.Po \ + o/$(DEPDIR)/cmpaux.Po o/$(DEPDIR)/conditional.Po \ + o/$(DEPDIR)/earith.Po o/$(DEPDIR)/error.Po o/$(DEPDIR)/eval.Po \ +@@ -422,6 +524,7 @@ am__depfiles_remade = bin/$(DEPDIR)/dpp. + o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bind.Po \ + o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bitop.Po \ + o/$(DEPDIR)/lib_libbase_gcl_gprof_a-block.Po \ ++ o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po \ + o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bzero.Po \ + o/$(DEPDIR)/lib_libbase_gcl_gprof_a-catch.Po \ + o/$(DEPDIR)/lib_libbase_gcl_gprof_a-cfun.Po \ +@@ -554,9 +657,10 @@ SOURCES = $(lib_libbase_gcl_a_SOURCES) \ + $(unixport_saved_ansi_gcl_gprof_SOURCES) \ + $(unixport_saved_gcl_SOURCES) \ + $(unixport_saved_gcl_gprof_SOURCES) +-DIST_SOURCES = $(lib_libbase_gcl_a_SOURCES) \ +- $(lib_libbase_gcl_gprof_a_SOURCES) $(lib_libgprof_a_SOURCES) \ +- $(lib_libxgcl_a_SOURCES) $(lib_libxgcl_gprof_a_SOURCES) \ ++DIST_SOURCES = $(am__lib_libbase_gcl_a_SOURCES_DIST) \ ++ $(am__lib_libbase_gcl_gprof_a_SOURCES_DIST) \ ++ $(lib_libgprof_a_SOURCES) $(lib_libxgcl_a_SOURCES) \ ++ $(lib_libxgcl_gprof_a_SOURCES) \ + $(unixport_libansi_gcl_a_SOURCES) \ + $(unixport_libansi_gcl_gprof_a_SOURCES) \ + $(unixport_libgcl_a_SOURCES) \ +@@ -712,6 +816,7 @@ ETAGS = @ETAGS@ + EXEEXT = @EXEEXT@ + EXT = @EXT@ + EXTRA_LOBJS = @EXTRA_LOBJS@ ++FF = @FF@ + FINAL_CFLAGS = @FINAL_CFLAGS@ + GCL_CC = @GCL_CC@ + GMP = @GMP@ +@@ -731,6 +836,7 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ + INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + LDFLAGS = @LDFLAGS@ + LEADING_UNDERSCORE = @LEADING_UNDERSCORE@ ++LF = @LF@ + LIBOBJS = @LIBOBJS@ + LIBS = @LIBS@ + LI_CC = @LI_CC@ +@@ -854,6 +960,9 @@ my_cmpnewdir = $(my_libdir)/cmpnew + my_clcsdir = $(my_libdir)/clcs + xgcl2docdir = $(docdir)/xgcl-2 + gcltkdocdir = $(docdir)/gcl-tk ++ ++# primaries ++noinst_PROGRAMS = bin/dpp$(EXEEXT) o/grab_defs$(EXEEXT) + noinst_LIBRARIES = lib/libbase_gcl.a $(am__append_1) $(am__append_4) \ + $(am__append_7) + my_unixport_LIBRARIES = unixport/libgcl.a unixport/libansi_gcl.a \ +@@ -862,7 +971,7 @@ bin_SCRIPTS = bin/gcl + check_SCRIPTS = sb_ansi-tests/test_results sb_bench/timing_results + info_TEXINFOS = info/gcl.texi info/gcl-si.texi $(am__append_6) \ + $(am__append_9) +-my_unixport_DATA = $(addprefix unixport/,init_raw.lsp gcl.script libboot.so \ ++my_unixport_DATA = $(LIBBOOTSO) $(addprefix unixport/,init_raw.lsp gcl.script \ + gcl_cmpnopt_gcl.lsp gcl_cmpnopt_ansi_gcl.lsp) + + my_h_DATA = h/cmpinclude.h +@@ -879,6 +988,8 @@ lisp_DATA = elisp/add-default.el elisp/a + dist_noinst_DATA = $(am__append_5) $(am__append_8) + + # conditionals ++@AMM_LIBBOOT_TRUE@LIBBOOTSO = unixport/libboot.so ++@AMM_LIBBOOT_FALSE@BOOT_C = o/boot.c + @AMM_GPROF_TRUE@LIBGPROF = lib/libgprof.a + + #it would be nice someday to sandbox xgcl-2 and gcl-tk builds in tmpdirs +@@ -968,9 +1079,8 @@ BUILT_SOURCES = $(BUILT_H) $(BUILT_C) + CLEANFILES = $(BUILT_SOURCES) $(INI_FILES) o/boot.ini $(addprefix \ + unixport/raw_,gcl gcl_gprof ansi_gcl ansi_gcl_gprof) \ + h/cmpinclude.h h/mstdint.h h/cmpincludea.h h/mcompdefs.h \ +- unixport/libboot.so gcl-tk/demos/index.lsp \ +- gcl-tk/demos/gc-monitor.o +-lib_libbase_gcl_a_SOURCES = $(C_SRC) $(BASE_H) $(CMPI_H) $(ARCHT_H) ++ $(LIBBOOTSO) gcl-tk/demos/index.lsp gcl-tk/demos/gc-monitor.o ++lib_libbase_gcl_a_SOURCES = $(C_SRC) $(BASE_H) $(CMPI_H) $(ARCHT_H) $(BOOT_C) + nodist_lib_libbase_gcl_a_SOURCES = $(BUILT_C) + lib_libgprof_a_SOURCES = o/gprof.c + lib_libgprof_a_CFLAGS = $(AM_CFLAGS) -fno-omit-frame-pointer -pg +@@ -1293,6 +1403,7 @@ o/bzero.$(OBJEXT): o/$(am__dirstamp) o/$ + o/user_init.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp) + o/user_match.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp) + o/mapfun.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp) ++o/boot.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp) + o/character.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp) + o/file.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp) + o/gcl_readline.$(OBJEXT): o/$(am__dirstamp) \ +@@ -1447,6 +1558,8 @@ o/lib_libbase_gcl_gprof_a-user_match.$(O + o/$(DEPDIR)/$(am__dirstamp) + o/lib_libbase_gcl_gprof_a-mapfun.$(OBJEXT): o/$(am__dirstamp) \ + o/$(DEPDIR)/$(am__dirstamp) ++o/lib_libbase_gcl_gprof_a-boot.$(OBJEXT): o/$(am__dirstamp) \ ++ o/$(DEPDIR)/$(am__dirstamp) + o/lib_libbase_gcl_gprof_a-gprof.$(OBJEXT): o/$(am__dirstamp) \ + o/$(DEPDIR)/$(am__dirstamp) + o/lib_libbase_gcl_gprof_a-character.$(OBJEXT): o/$(am__dirstamp) \ +@@ -1654,6 +1767,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/bind.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/bitop.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/block.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/boot.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/bzero.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/catch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/cfun.Po@am__quote@ # am--include-marker +@@ -1688,6 +1802,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bind.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bitop.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-block.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bzero.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-catch.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-cfun.Po@am__quote@ # am--include-marker +@@ -2761,6 +2876,20 @@ o/lib_libbase_gcl_gprof_a-mapfun.obj: o/ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-mapfun.obj `if test -f 'o/mapfun.c'; then $(CYGPATH_W) 'o/mapfun.c'; else $(CYGPATH_W) '$(srcdir)/o/mapfun.c'; fi` + ++o/lib_libbase_gcl_gprof_a-boot.o: o/boot.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libbase_gcl_gprof_a-boot.o -MD -MP -MF o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Tpo -c -o o/lib_libbase_gcl_gprof_a-boot.o `test -f 'o/boot.c' || echo '$(srcdir)/'`o/boot.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Tpo o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o/boot.c' object='o/lib_libbase_gcl_gprof_a-boot.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-boot.o `test -f 'o/boot.c' || echo '$(srcdir)/'`o/boot.c ++ ++o/lib_libbase_gcl_gprof_a-boot.obj: o/boot.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libbase_gcl_gprof_a-boot.obj -MD -MP -MF o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Tpo -c -o o/lib_libbase_gcl_gprof_a-boot.obj `if test -f 'o/boot.c'; then $(CYGPATH_W) 'o/boot.c'; else $(CYGPATH_W) '$(srcdir)/o/boot.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Tpo o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o/boot.c' object='o/lib_libbase_gcl_gprof_a-boot.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-boot.obj `if test -f 'o/boot.c'; then $(CYGPATH_W) 'o/boot.c'; else $(CYGPATH_W) '$(srcdir)/o/boot.c'; fi` ++ + o/lib_libbase_gcl_gprof_a-gprof.o: o/gprof.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libbase_gcl_gprof_a-gprof.o -MD -MP -MF o/$(DEPDIR)/lib_libbase_gcl_gprof_a-gprof.Tpo -c -o o/lib_libbase_gcl_gprof_a-gprof.o `test -f 'o/gprof.c' || echo '$(srcdir)/'`o/gprof.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libbase_gcl_gprof_a-gprof.Tpo o/$(DEPDIR)/lib_libbase_gcl_gprof_a-gprof.Po +@@ -3974,6 +4103,7 @@ distclean: distclean-am + -rm -f o/$(DEPDIR)/bind.Po + -rm -f o/$(DEPDIR)/bitop.Po + -rm -f o/$(DEPDIR)/block.Po ++ -rm -f o/$(DEPDIR)/boot.Po + -rm -f o/$(DEPDIR)/bzero.Po + -rm -f o/$(DEPDIR)/catch.Po + -rm -f o/$(DEPDIR)/cfun.Po +@@ -4008,6 +4138,7 @@ distclean: distclean-am + -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bind.Po + -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bitop.Po + -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-block.Po ++ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po + -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bzero.Po + -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-catch.Po + -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-cfun.Po +@@ -4294,6 +4425,7 @@ maintainer-clean: maintainer-clean-am + -rm -f o/$(DEPDIR)/bind.Po + -rm -f o/$(DEPDIR)/bitop.Po + -rm -f o/$(DEPDIR)/block.Po ++ -rm -f o/$(DEPDIR)/boot.Po + -rm -f o/$(DEPDIR)/bzero.Po + -rm -f o/$(DEPDIR)/catch.Po + -rm -f o/$(DEPDIR)/cfun.Po +@@ -4328,6 +4460,7 @@ maintainer-clean: maintainer-clean-am + -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bind.Po + -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bitop.Po + -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-block.Po ++ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po + -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bzero.Po + -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-catch.Po + -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-cfun.Po +@@ -4541,7 +4674,7 @@ $(addprefix unixport/saved_,gcl ansi_gcl + unixport/saved_%: unixport/raw_% # rebuild these only when out of date + + unixport/saved_%: | unixport/raw_% unixport/gcl_cmpnopt_%.lsp \ +- unixport/libboot.so unixport/init_raw.lsp ++ $(LIBBOOTSO) unixport/init_raw.lsp + rm -rf sb_$* # FIXME sandbox ugliness for parallel builds + mkdir sb_$* + cd sb_$* && \ +@@ -4549,14 +4682,17 @@ unixport/saved_%: | unixport/raw_% unixp + ln -snf gcl_cmpnopt_$*.lsp ../unixport/gcl_cmpnopt.lsp && \ + mkdir h && \ + ln -snf ../../h/cmpinclude.h h/ && \ +- echo "(system:save-system \"../$@\")" | cat ../unixport/init_raw.lsp - | \ ++ touch prof_init.lsp && \ ++ ( ! echo $@ | grep -q _gprof$$ || echo "(setq compiler::*default-prof-p* t)" >prof_init.lsp ) && \ ++ echo "(system:save-system \"../$@\")" | \ ++ cat ../unixport/init_raw.lsp prof_init.lsp - | \ + GCL_LSPSYSDIR=../$(srcdir)/unixport/ GCL_MEM_BOUND=29 \ + ../unixport/raw_$* $$(dirname $$(pwd))/unixport/ -libdir $$(dirname $$(pwd))/ && \ + rm -f ../unixport/gcl_cmpnopt.lsp #FIXME GCL_MEM_BOUND darwin limited raw heap xcode linker __huge issue + rm -rf sb_$* + +-unixport/raw_%: unixport/lib%.a +- $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $< $(LIBS) #FIXME relro ++unixport/raw_%: unixport/lib%.a $(FF) $(LF) ++ $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $(FF) $< $(LF) $(LIBS) #FIXME relro + + unixport/gcl_cmpnopt_gcl_gprof.lsp unixport/gcl_cmpnopt_ansi_gcl_gprof.lsp:\ + unixport/gcl_cmpnopt_%_gprof.lsp: unixport/gcl_cmpnopt_%.lsp +@@ -4754,14 +4890,14 @@ o/boot.h: %.h: %.ini + echo 'void gcl_init_boot(void){' >> $@ + cat $< >> $@ + echo '}' >> $@ +-unixport/libboot.so: o/boot.c o/boot.h ++$(LIBBOOTSO): o/boot.c o/boot.h + $(CC) $(AM_CPPFLAGS) -Io $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \ + -fPIC -shared -Wl,-undefined -Wl,dynamic_lookup $< -o $@ + + o/boot.ini: CPPFLAGS += -DNO_BOOT_H + # parallel builds can only have one target accessing an intermediate file + # solved with BUILT_SOURCES +-o/%.ini: o/%.c | o/grab_defs ++o/%.ini: o/%.c | o/grab_defs$(EXEEXT) + @$(CPP) $(AM_CPPFLAGS) -P -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F) + @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@ + @rm -f new_$(@F) +@@ -4824,8 +4960,8 @@ sb_cmpnew/gcl_collectfn.o: cmpnew/gcl_co + [ -d $(@D) ] || mkdir -p $(@D) + $(word 1,$|) -compile $< -o $@ + +-%.c: %.d | bin/dpp +- bin/dpp $< $@ ++%.c: %.d | bin/dpp$(EXEEXT) ++ $| $< $@ + + gcl-tk/demos gcl-tk $(MY_DIRS): % : + [ -d $@ ] || mkdir -p $@ +--- gcl27-2.7.1.orig/bin/gcl.in ++++ gcl27-2.7.1/bin/gcl.in +@@ -5,13 +5,19 @@ VERS=@VERSION@ + + if [ -e /etc/default/gcl$EXT ] ; then + . /etc/default/gcl$EXT ; +- if ! set | grep -q -w GCL_ANSI ; then GCL_ANSI=$DEFAULT_GCL_ANSI ; fi ++ if ! set | grep -q -w GCL_ANSI ; then ++ if [ "$DEFAULT_GCL_ANSI" != "" ] ; then ++ GCL_ANSI="t" ; ++ else ++ GCL_ANSI="no" ; ++ fi ++ fi + if ! set | grep -q -w GCL_PROF ; then GCL_PROF=$DEFAULT_GCL_PROF ; fi + fi + + DIR=@prefix@/lib/gcl-$VERS; + +-if [ "$GCL_ANSI" = "" ] ; then ++if [ "$GCL_ANSI" = "no" ] ; then + if [ "$GCL_PROF" = "" ] ; then + EXE=saved_gcl; + else +--- gcl27-2.7.1.orig/cmpnew/gcl_cmpcall.lsp ++++ gcl27-2.7.1/cmpnew/gcl_cmpcall.lsp +@@ -334,8 +334,10 @@ + ((append at '(*))))));let call_proc_new foil fast linking and catch errors + + (defun add-fast-link (fname la &optional apnarg +- &aux n +- (at (call-arg-types (mapcar (lambda (x) (link-rt x t)) (get-arg-types fname)) la apnarg)) ++ &aux n ++ (at (call-arg-types ++ (adj-call-tps-max (mapcar (lambda (x) (link-rt x t)) (get-arg-types fname))) ++ la apnarg)) + (rt (link-rt (get-return-type fname) t)) + (clp (cclosure-p fname)) + (tail (list rt at clp apnarg))) +--- gcl27-2.7.1.orig/cmpnew/gcl_cmpeval.lsp ++++ gcl27-2.7.1/cmpnew/gcl_cmpeval.lsp +@@ -2353,6 +2353,12 @@ + (otherwise (when (or always (ltvp val)) + `(vv ,val))))) + ++(defun encap-src-val (val) ++ (typecase val ++ (function (afe (cons 'df nil) (mf (fle val)))) ++ (cons (cons (encap-src-val (car val)) (encap-src-val (cdr val)))) ++ (t val))) ++ + (defun c1constant-value (val always &aux (val (if (exit-to-fmla-p) (not (not val)) val))) + (case + val +@@ -2363,11 +2369,7 @@ + (when l + `(location + ,(make-info :type (or (ltvp val) +- (object-type +- (typecase val +- (function (afe (cons 'df nil) (mf (fle val)))) +- (list (copy-tree val)) +- (t val))))) ++ (object-type (encap-src-val val)))) + ,l)))))) + + (defvar *compiler-temps* +--- gcl27-2.7.1.orig/cmpnew/gcl_cmpflet.lsp ++++ gcl27-2.7.1/cmpnew/gcl_cmpflet.lsp +@@ -495,7 +495,7 @@ + (clp (when clp (ccb-vs-str (fun-ref-ccb fun)))) + (nm (if clp (ms clp "->fun.fun_self") nm)) + (inl (g1 clp nm sig ap clp (if clp -1 (fun-level fun))))) +- `(,(car sig) ,(cadr sig) ++ `(,(adj-call-tps-max (car sig)) ,(cadr sig) + ,(if mv (flags rfa svt) (flags rfa)) + ,inl))) + +--- gcl27-2.7.1.orig/cmpnew/gcl_cmptop.lsp ++++ gcl27-2.7.1/cmpnew/gcl_cmptop.lsp +@@ -823,7 +823,7 @@ + ((cons (eql vv) t) (fm-to-string (cadr form))) + ((cons (member char-value fixnum-value character-value) t) (fm-to-string (caddr form))) + ((eql most-negative-fixnum) #.(string-concatenate "(" (write-to-string (1+ most-negative-fixnum)) "- 1)")) +- (integer (format nil "~a" form)); string character ++ (fixnum (format nil "~a" form)); string character + (float (format nil "~10,,,,,,'eG" form)) + ((complex float) + (string-concatenate "(" (fm-to-string (realpart form)) " + I * " (fm-to-string (imagpart form)) ")")))) +@@ -832,7 +832,7 @@ + (string-concatenate + (cond ((member key '(:cnum :creal)) "") + ((eq ft tt) "") +- ((equal ft t) ++ ((equal ft t) + (if *compiler-new-safety* + (let ((v (member key '(:char :int :fixnum)))) + (if v (si::string-concatenate (setq p "object_to_") (strcat key)) +@@ -1127,11 +1127,19 @@ + (let ((x (position x +c-global-arg-types+ :test 'type<=))) + (if x (1+ x) 0)))) + ++(defconstant +max-typed-args+ ++ (let ((x (cdr (tp-bnds (cadr (si::sig 'c-function-argd)))))) ++ (if (typep x 'fixnum) (1- (truncate (integer-length x) 2)) 0))) ++ ++(defun adj-call-tps-max (tps &aux (i -1)) ++ (mapcar (lambda (x) (type-or1 (>= (incf i) +max-typed-args+) x)) tps)) ++ + (defun new-proclaimed-argd (args return) + (do* ((type (f-type return) (f-type (pop args))) + (i 0 (+ 2 i)) + (ans type (logior ans (ash type i)))) +- ((or (>= i 32) (null args)) (the (unsigned-byte 32) ans)))) ++ ((or (>= i #.(ash +max-typed-args+ 1)) (null args)) ++ (the (unsigned-byte #.(1+ (ash +max-typed-args+ 1))) ans)))) + + (defun type-f (x) + (declare (fixnum x)) +@@ -1300,14 +1308,16 @@ + (defun t3defun-local-entry (fname cfun lambda-expr sp inline-info + &aux specials *reg-clv* (requireds (caaddr lambda-expr)) nargs) + (do ((vl requireds (cdr vl)) +- (types (cadr inline-info) (cdr types))) ++ (types (cadr inline-info) (cdr types)) ++ (i 0 (1+ i))) + ((endp vl)) + (cond ((eq (var-kind (car vl)) 'special) + (push (cons (car vl) (var-loc (car vl))) specials)) + ((var-cb (car vl)) (push (list (eq 'clb (var-loc (car vl))) (car vl)) *reg-clv*)) +-; ((var-cb (car vl)) (push (car vl) *reg-clv*)) + ((setf (var-kind (car vl)) +- (or (car (member (promoted-c-type (var-type (car vl))) +c-local-arg-types+)) 'object)))) ++ (or (when (< i +max-typed-args+) ++ (car (member (promoted-c-type (var-type (car vl))) +c-local-arg-types+))) ++ 'object)))) + (setf (var-loc (car vl)) (cs-push (var-type (car vl)) t))) + (when (is-narg-le lambda-expr) + (setq nargs (car (last requireds))) +@@ -1382,13 +1392,12 @@ + (wt-h "#define VMRV" cm "(a_,b_)" vstu bdsu frsu " return((" (declaration-type (rep-type return-type)) ")a_);") + (wt-h "#define VMR" cm "(a_) VMRV" cm "(a_,0);"))) + +- +-(defun wt-requireds (requireds arg-types &optional first narg) ++(defun wt-requireds (requireds arg-types &optional first narg &aux (i -1)) + (declare (ignore arg-types)) + (flet ((wt (x) (wt x) (let ((*compiler-output1* *compiler-output2*)) (wt x)))) + (dolist (v requireds (wt (if narg ",...)" ")"))) + (setq narg (or narg (is-narg-var v))) +- (let* ((gt (global-type-bump (var-type v))) ++ (let* ((gt (global-type-bump (if (< (incf i) +max-typed-args+) (var-type v) t))) + (cvar (cs-push gt t))) + (when first (wt ",")) + (setq first t) +@@ -1811,6 +1820,12 @@ + ;; ,@(mapcar (lambda (x y) + ;; `(unbox ,(intern (symbol-name x) 'keyword) ,y)) args syms))))))) + ++(defun c-key-rep (key) ++ (ecase key ++ ((:object :char :int :long :float :double :fixnum :void) (string-downcase key)) ++ (:string "char *") ++ (:ustring "unsigned char *"))) ++ + (defmacro defentry (n args c &optional (lt t) + &aux (tsyms (load-time-value + (mapl (lambda (x) (setf (car x) (gensym "DEFENTRY"))) +@@ -1824,9 +1839,9 @@ + (tps (mapcar (lambda (x) (intern (string (if (consp x) (car x) x)) 'keyword)) args)) + (decl (reduce (lambda (y x) + (strcat y (if (> (length y) 0) "," "") +- (cdr (assoc (get x 'cmp-lisp-type) +defentry-c-rep-alist+)))) ++ (c-key-rep x))) + tps :initial-value "")) +- (decl (concatenate 'string (string-downcase rt) " " m "(" decl ");")) ++ (decl (concatenate 'string (c-key-rep rt) " " m "(" decl ");")) + (decl (if st "" decl)) + (syms (mapcar (lambda (x) (declare (ignore x)) (pop tsyms)) args))) + `(defun ,n ,syms +@@ -1881,14 +1896,16 @@ + + (setq h (fun-call fun) at (caar h) rt (cadar h) + at (mapcar 'global-type-bump at) rt (global-type-bump rt));FIXME +- (dolist (vl requireds) +- (cond ((eq (var-kind vl) 'special) +- (push (cons vl (var-loc vl)) specials)) +- ((var-cb vl) (push (list (eq 'clb (var-loc vl)) vl) *reg-clv*)) +-; ((var-cb vl) (push vl *reg-clv*)) +- ((setf (var-kind vl) +- (or (car (member (promoted-c-type (var-type vl)) +c-global-arg-types+)) 'object)))) +- (setf (var-loc vl) (cs-push (var-type vl) t))) ++ (do ((vlp requireds (cdr vlp))(i 0 (1+ i)))((endp vlp)) ++ (let ((vl (car vlp))) ++ (cond ((eq (var-kind vl) 'special) ++ (push (cons vl (var-loc vl)) specials)) ++ ((var-cb vl) (push (list (eq 'clb (var-loc vl)) vl) *reg-clv*)) ++ ((setf (var-kind vl) ++ (or (when (< i +max-typed-args+) ++ (car (member (promoted-c-type (var-type vl)) +c-global-arg-types+))) ++ 'object)))) ++ (setf (var-loc vl) (cs-push (var-type vl) t)))) + + (wt-comment "local function " (if (fun-name fun) (fun-name fun) nil)) + (wt-h "static " (declaration-type (rep-type rt)) +--- gcl27-2.7.1.orig/cmpnew/gcl_cmptype.lsp ++++ gcl27-2.7.1/cmpnew/gcl_cmptype.lsp +@@ -220,11 +220,6 @@ + (list* nil +c-local-var-types-syms+)) + `((object . "object ")))) + +-(defconstant +defentry-c-rep-alist+ +- (mapcar (lambda (x &aux (z (assoc x *c-types*))) +- (cons (cadr z) (eighth z))) +- '(char #+64bit signed-int fixnum short-float long-float string t))) +- + (defconstant +cmp-type-alist+ + (mapcar (lambda (x) (cons (cmp-norm-tp (car x)) (cdr x))) +type-alist+)) + +--- gcl27-2.7.1.orig/configure ++++ gcl27-2.7.1/configure +@@ -719,6 +719,10 @@ LDFLAGS + CFLAGS + CC + PRELINK_CHECK ++AMM_LIBBOOT_FALSE ++AMM_LIBBOOT_TRUE ++LF ++FF + host_os + host_vendor + host_cpu +@@ -807,6 +811,7 @@ ac_user_opts=' + enable_option_checking + enable_silent_rules + with_lispdir ++enable_libboot + enable_machine + enable_widecons + enable_safecdr +@@ -1478,6 +1483,7 @@ Optional Features: + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-silent-rules less verbose build output (undo: "make V=1") + --disable-silent-rules verbose build output (undo: "make V=0") ++put bootstrap code in shared library to be discarded + --enable-machine=XXXX will force the use of one of the definitions in h/XXXX.defs + --enable-widecons will use a three word cons with simplified typing + --enable-safecdr will protect cdr from immfix and speed up type processing +@@ -4149,6 +4155,38 @@ case $canonical in + i?86-pc-solaris*) use=solaris-i386;; + esac + ++# Check whether --enable-libboot was given. ++if test ${enable_libboot+y} ++then : ++ enableval=$enable_libboot; libboot=$enableval ++else case e in #( ++ e) libboot="yes" ;; ++esac ++fi ++ ++ ++if test "$use" = "gnuwin95" ; then ++ FF=o/firstfile.o ++ ++ LF=o/lastfile.o ++ ++ libboot="no" ++fi ++ ++ if test "$libboot" = "yes"; then ++ AMM_LIBBOOT_TRUE= ++ AMM_LIBBOOT_FALSE='#' ++else ++ AMM_LIBBOOT_TRUE='#' ++ AMM_LIBBOOT_FALSE= ++fi ++ ++if test "$libboot" = "yes" ; then ++ ++printf "%s\n" "#define USE_LIBBOOT 1" >>confdefs.h ++ ++fi ++ + # Check whether --enable-machine was given. + if test ${enable_machine+y} + then : +@@ -7155,19 +7193,11 @@ case $use in + assert_arg_to_cflags -mms-bitfields + for i in makedefc windows/gcl.iss windows/sysdir.bat windows/install.lsp h/gclincl.h; do + cat $i.in | sed 's,^\r\n$,\r\n,g' >tmp && mv tmp $i.in; +- done +- OLD_LDFLAGS=$LDFLAGS +- assert_arg_to_ldflags -pg +- GPL_FLAG="-pg" +- LDFLAGS=$OLD_LDFLAGS;; ++ done;; + *gnuwin*) + assert_arg_to_cflags -fno-zero-initialized-in-bss + assert_arg_to_cflags -mms-bitfields +- assert_arg_to_ldflags -Wl,--stack,8000000 +- OLD_LDFLAGS=$LDFLAGS +- assert_arg_to_ldflags -pg +- GPL_FLAG="-pg" +- LDFLAGS=$OLD_LDFLAGS;; ++ assert_arg_to_ldflags -Wl,--stack,8000000;; + 386-linux) + if ! add_arg_to_cflags -msse2 || ! add_arg_to_cflags -mfpmath=sse ; then + add_arg_to_cflags -ffloat-store; +@@ -8742,6 +8772,41 @@ esac + # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects + # declarations like 'int a3[[(sizeof (unsigned char)) >= 0]];'. + # This bug is HP SR number 8606223364. ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5 ++printf %s "checking size of size_t... " >&6; } ++if test ${ac_cv_sizeof_size_t+y} ++then : ++ printf %s "(cached) " >&6 ++else case e in #( ++ e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t" "$ac_includes_default" ++then : ++ ++else case e in #( ++ e) if test "$ac_cv_type_size_t" = yes; then ++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5 ++printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;} ++as_fn_error 77 "cannot compute sizeof (size_t) ++See 'config.log' for more details" "$LINENO" 5; } ++ else ++ ac_cv_sizeof_size_t=0 ++ fi ;; ++esac ++fi ++ ;; ++esac ++fi ++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_size_t" >&5 ++printf "%s\n" "$ac_cv_sizeof_size_t" >&6; } ++ ++ ++ ++printf "%s\n" "#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t" >>confdefs.h ++ ++ ++# The cast to long int works around a bug in the HP C Compiler ++# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects ++# declarations like 'int a3[[(sizeof (unsigned char)) >= 0]];'. ++# This bug is HP SR number 8606223364. + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 + printf %s "checking size of long... " >&6; } + if test ${ac_cv_sizeof_long+y} +@@ -9029,7 +9094,8 @@ esac + printf %s "checking for hugepagewidth... " >&6; } + j="" + if test -e /proc/meminfo ; then +- j=`awk '/^Hugepagesize:/ {if ($3!="kB") next;j=1;for (i=0;i<20 && j!=$2;i++) j=j*2;if (j==$2) printf("%d\n",i+10)}' /proc/meminfo` ++ j=`awk '/^Hugepagesize:/ {if ($3!="kB") next;j=1;for (i=0;i<20 && j!=$2;i++) j=j*2; ++ if (j==$2) {if (i>11) i=11;printf("%d\n",i+10)}}' /proc/meminfo` + fi + if test "$j" != "" ; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $j" >&5 +@@ -11661,9 +11727,6 @@ then : + fi + + +-#LDFLAGS="`echo $GPL_FLAG $LDFLAGS | sed 's,gcl.script,../unixport/gcl.script,g'`" +-LDFLAGS="`echo $GPL_FLAG $LDFLAGS`" +-#AM_LDFLAGS = $LDFLAGS + BASE_LDFLAGS="$LDFLAGS" + LDFLAGS="" + +@@ -11859,6 +11922,10 @@ else + am__EXEEXT_FALSE= + fi + ++if test -z "${AMM_LIBBOOT_TRUE}" && test -z "${AMM_LIBBOOT_FALSE}"; then ++ as_fn_error $? "conditional \"AMM_LIBBOOT\" was never defined. ++Usually this means the macro was only invoked conditionally." "$LINENO" 5 ++fi + if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + as_fn_error $? "conditional \"AMDEP\" was never defined. + Usually this means the macro was only invoked conditionally." "$LINENO" 5 +--- gcl27-2.7.1.orig/configure.ac ++++ gcl27-2.7.1/configure.ac +@@ -71,6 +71,22 @@ case $canonical in + i?86-pc-solaris*) use=solaris-i386;; + esac + ++AC_ARG_ENABLE([libboot],[put bootstrap code in shared library to be discarded], ++ [libboot=$enableval],[libboot="yes"]) ++ ++if test "$use" = "gnuwin95" ; then ++ FF=o/firstfile.o ++ AC_SUBST(FF) ++ LF=o/lastfile.o ++ AC_SUBST(LF) ++ libboot="no" ++fi ++ ++AM_CONDITIONAL([AMM_LIBBOOT],[test "$libboot" = "yes"]) ++if test "$libboot" = "yes" ; then ++ AC_DEFINE([USE_LIBBOOT],[1],[boot code in shared library]) ++fi ++ + AC_ARG_ENABLE([machine],[ --enable-machine=XXXX will force the use of one of the definitions in h/XXXX.defs], + [echo enable_machine=$enableval ; use=$enableval]) + +@@ -271,19 +287,11 @@ case $use in + assert_arg_to_cflags -mms-bitfields + for i in makedefc windows/gcl.iss windows/sysdir.bat windows/install.lsp h/gclincl.h; do + cat $i.in | sed 's,[^\r]\n$,\r\n,g' >tmp && mv tmp $i.in; +- done +- OLD_LDFLAGS=$LDFLAGS +- assert_arg_to_ldflags -pg +- GPL_FLAG="-pg" +- LDFLAGS=$OLD_LDFLAGS;; ++ done;; + *gnuwin*) + assert_arg_to_cflags -fno-zero-initialized-in-bss + assert_arg_to_cflags -mms-bitfields +- assert_arg_to_ldflags -Wl,--stack,8000000 +- OLD_LDFLAGS=$LDFLAGS +- assert_arg_to_ldflags -pg +- GPL_FLAG="-pg" +- LDFLAGS=$OLD_LDFLAGS;; ++ assert_arg_to_ldflags -Wl,--stack,8000000;; + 386-linux) + if ! add_arg_to_cflags -msse2 || ! add_arg_to_cflags -mfpmath=sse ; then + add_arg_to_cflags -ffloat-store; +@@ -793,6 +801,7 @@ esac + # mechanism, in the PAGE macro. This offset is subtracted from + # addresses, in calculating a page for an address in the heap. + ++AC_CHECK_SIZEOF(size_t,0) + AC_CHECK_SIZEOF(long,0) + AC_CHECK_SIZEOF(short,0) + AC_CHECK_SIZEOF(int,0) +@@ -853,7 +862,8 @@ esac + AC_MSG_CHECKING([for hugepagewidth]) + j="" + if test -e /proc/meminfo ; then +- j=`awk '/^Hugepagesize:/ {if ($3!="kB") next;j=1;for (i=0;i<20 && j!=$2;i++) j=j*2;if (j==$2) printf("%d\n",i+10)}' /proc/meminfo` ++ j=`awk '/^Hugepagesize:/ {if ($3!="kB") next;j=1;for (i=0;i<20 && j!=$2;i++) j=j*2; ++ if (j==$2) {if (i>11) i=11;printf("%d\n",i+10)}}' /proc/meminfo` + fi + if test "$j" != "" ; then + AC_MSG_RESULT([$j]) +@@ -1849,9 +1859,6 @@ AC_CONFIG_FILES([bin/gcl]) + AC_CHECK_HEADERS(sys/mman.h,AC_CHECK_FUNCS(mprotect)) + AC_CHECK_HEADERS(alloca.h) + +-#LDFLAGS="`echo $GPL_FLAG $LDFLAGS | sed 's,gcl.script,../unixport/gcl.script,g'`" +-LDFLAGS="`echo $GPL_FLAG $LDFLAGS`" +-#AM_LDFLAGS = $LDFLAGS + BASE_LDFLAGS="$LDFLAGS" + LDFLAGS="" + AC_SUBST(BASE_LDFLAGS) +--- gcl27-2.7.1.orig/git.tag ++++ gcl27-2.7.1/git.tag +@@ -1,2 +1,2 @@ +-"Version_2_7_2ore2" ++"Version_2_7_2ore3" + +--- gcl27-2.7.1.orig/h/386-macosx.h ++++ gcl27-2.7.1/h/386-macosx.h +@@ -132,7 +132,7 @@ if (realpath (buf, fub) == 0) { + #define UC(a_) ((ucontext_t *)a_) + #define SF(a_) ((siginfo_t *)a_) + +-#define FPE_CODE(i_,v_) make_fixnum(FFN(fSfpe_code)(*(fixnum *)&UC(v_)->uc_mcontext->__fs.__fpu_fsw,UC(v_)->uc_mcontext->__fs.__fpu_mxcsr)) ++#define FPE_CODE(i_,v_) make_fixnum((fixnum)FFN(fSfpe_code)(*(fixnum *)&UC(v_)->uc_mcontext->__fs.__fpu_fsw,UC(v_)->uc_mcontext->__fs.__fpu_mxcsr)) + #define FPE_ADDR(i_,v_) make_fixnum(UC(v_)->uc_mcontext->__fs.__fpu_fop ? UC(v_)->uc_mcontext->__fs.__fpu_ip : (fixnum)SF(i_)->si_addr) + #define FPE_CTXT(v_) list(3,make_fixnum((fixnum)&UC(v_)->uc_mcontext->__ss), \ + make_fixnum((fixnum)&UC(v_)->uc_mcontext->__fs.__fpu_stmm0), \ +--- gcl27-2.7.1.orig/h/compprotos.h ++++ gcl27-2.7.1/h/compprotos.h +@@ -85,7 +85,11 @@ char object_to_char(object); + void not_a_symbol(object); + object number_expt(object,object); + object fLrow_major_aref(object,fixnum); ++#if SIZEOF_SIZE_T == SIZEOF_INT ++void *alloca(unsigned); ++#else + void *alloca(unsigned long); ++#endif + object cmod(object); + object ctimes(object,object); + object cdifference(object,object); +--- gcl27-2.7.1.orig/h/gclincl.h.in ++++ gcl27-2.7.1/h/gclincl.h.in +@@ -315,6 +315,9 @@ + /* The size of 'short', as computed by sizeof. */ + #undef SIZEOF_SHORT + ++/* The size of 'size_t', as computed by sizeof. */ ++#undef SIZEOF_SIZE_T ++ + /* staticly linked images */ + #undef STATIC_LINKING + +@@ -332,6 +335,9 @@ + /* use gprof */ + #undef USE_GPROF + ++/* boot code in shared library */ ++#undef USE_LIBBOOT ++ + /* use readline library */ + #undef USE_READLINE + +--- gcl27-2.7.1.orig/h/protoize.h ++++ gcl27-2.7.1/h/protoize.h +@@ -1450,8 +1450,6 @@ void init_shared_memory(void); + + void * object_to_pointer(object); + +-void * alloca(unsigned long); +- + object make_dcomplex(dcomplex); + + object find_init_string(const char *); +--- gcl27-2.7.1.orig/info/internal.texi ++++ gcl27-2.7.1/info/internal.texi +@@ -218,7 +218,7 @@ GCL specific: The compiler defines a Lis + calling sequence to the C language function specified by C-FUNCTION. The + interpreter ignores this form. The ARG-TYPES specifies the C types of the + arguments which C-FUNCTION requires. The list of allowed types is (object +-char int float double string). Code will be produced to coerce from a lisp ++char int long float double string). Code will be produced to coerce from a lisp + object to the appropriate type before passing the argument to the C-FUNCTION. + The c-function should be of the form (c-result-type c-fname) where + c-result-type is a member of (void object char int float double string). +--- gcl27-2.7.1.orig/lsp/gcl_info.lsp ++++ gcl27-2.7.1/lsp/gcl_info.lsp +@@ -96,18 +96,12 @@ + + (defun get-index-node () + (or (third *current-info-data*) +- (let* ( +- s +- (node-string (car (nth 1 *current-info-data*))) +- (node +- (and node-string (car (get-nodes "Index" node-string))))) +- (when node +- (setq s (show-info +- node +- nil +- nil +- )) +- (setf (third *current-info-data*) s))))) ++ (let* ((node-string (car (nth 1 *current-info-data*))) ++ (nodes (when node-string (get-nodes "Index" node-string)))) ++ (when nodes ++ (setf (third *current-info-data*) ++ (reduce 'string-concatenate ++ (mapcar (lambda (x) (show-info x nil nil)) nodes))))))) + + (defun nodes-from-index (pat &aux (i 0) ans + (*case-fold-search* t) *match-data*) +--- gcl27-2.7.1.orig/o/format.c ++++ gcl27-2.7.1/o/format.c +@@ -160,11 +160,11 @@ object sSAindent_formatted_outputA; + VOL int old_fmt_index; \ + VOL int old_fmt_end; \ + VOL object old_fmt_iteration_list; \ +- jmp_bufp VOL old_fmt_jmp_bufp; \ ++ jmp_bufp VOL old_fmt_jmp_bufp; \ + VOL int old_fmt_indents; \ + VOL object old_fmt_string ; \ +- VOL object(*old_fmt_advance)(void) ; \ +- VOL void (*old_fmt_lt)(volatile bool,bool) ; \ ++ object(*VOL old_fmt_advance)(void) ; \ ++ void (*VOL old_fmt_lt)(volatile bool,bool) ; \ + VOL format_parameter *old_fmt_paramp + #define fmt_save old_fmt_stream = fmt_stream; \ + old_ctl_origin = ctl_origin; \ +--- gcl27-2.7.1.orig/o/main.c ++++ gcl27-2.7.1/o/main.c +@@ -582,7 +582,7 @@ void + init_boot(void) { + + char *sysd=getenv("GCL_SYSDIR"),*d=sysd ? sysd : kcl_self; +-#ifndef __CYGWIN__ ++#ifdef USE_LIBBOOT + void *v,*q; + #endif + char *z,*s="libboot.so"; +@@ -592,14 +592,14 @@ init_boot(void) { + sSAoptimize_maximum_pagesA->s.s_dbind=Cnil; + z=alloca(n); + snprintf(z,n,"%-*.*s%s",(int)m,(int)m,d,s); +-#ifndef __CYGWIN__ ++#ifdef USE_LIBBOOT + if (!(v=dlopen(z,RTLD_LAZY|RTLD_GLOBAL))) + printf("%s\n",dlerror()); + if (!(q=dlsym(v,"gcl_init_boot"))) + printf("%s\n",dlerror()); + #endif + initializing_boot=1; +-#ifdef __CYGWIN__ ++#ifndef USE_LIBBOOT + { + extern void gcl_init_boot(void); + gcl_init_boot(); +--- gcl27-2.7.1.orig/unixport/init_raw.lsp.in ++++ gcl27-2.7.1/unixport/init_raw.lsp.in +@@ -90,13 +90,13 @@ + + (in-package :compiler) + (setq *cc* @LI_CC@ +- *default-prof-p* (> (length @LI_DFP@) 0) + *ld* @LI_LD@ + *ld-libs* @LI_LD_LIBS@ + *ld-libs* (concatenate 'string "-l" #+ansi-cl "ansi_" "gcl" #+gprof "_gprof" " " *ld-libs*) + *opt-three* @LI_OPT_THREE@ + *opt-two* @LI_OPT_TWO@ +- *init-lsp* @LI_INIT_LSP@) ++ *init-lsp* @LI_INIT_LSP@ ++ si::*info-paths* (cons "@prefix@/share/info/" si::*info-paths*)) + + (import 'si::(clines defentry defcfun object void int double quit bye gbc system + commonp *break-on-warnings* make-char char-bits char-font diff --git a/patches/Version_2_7_2pre1 b/patches/Version_2_7_2pre1 new file mode 100644 index 0000000..3d24baf --- /dev/null +++ b/patches/Version_2_7_2pre1 @@ -0,0 +1,21 @@ +Description: Update to git tag Version_2_7_2pre1 + Git tag update +Forwarded: not-needed +Author: Camm Maguire + +--- gcl27-2.7.1.orig/git.tag ++++ gcl27-2.7.1/git.tag +@@ -1,2 +1,2 @@ +-"Version_2_7_0" ++"Version_2_7_2ore1" + +--- gcl27-2.7.1.orig/o/alloc.c ++++ gcl27-2.7.1/o/alloc.c +@@ -707,6 +707,7 @@ empty_relblock(void) { + for (;!rb_emptyp();) { + tm_table[t_relocatable].tm_adjgbccnt--; + expand_contblock_index_space(); ++ expand_contblock_array(); + GBC(t_relocatable); + } + sSAleaf_collection_thresholdA->s.s_dbind=o; diff --git a/patches/Version_2_7_2pre10 b/patches/Version_2_7_2pre10 new file mode 100644 index 0000000..fbad1a9 --- /dev/null +++ b/patches/Version_2_7_2pre10 @@ -0,0 +1,191 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Camm Maguire +Date: Feb, 22 2026 16:56:52 +0000 +Subject: [PATCH] + +TODO: Put a short summary on the line above and replace this paragraph +with a longer explanation of this change. Complete the meta-information +with other relevant fields (see below for details). To make it easier, the +information below has been extracted from the changelog. Adjust it or drop +it. + +--- +The information above should follow the Patch Tagging Guidelines, please +checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here +are templates for supplementary fields that you might want to add: + +Origin: (upstream|backport|vendor|other), (|commit:) +Bug: +Bug-: +Forwarded: (no|not-needed|) +Applied-Upstream: , (|commit:) +Reviewed-By: + +--- gcl27-2.7.1.orig/Makefile.am ++++ gcl27-2.7.1/Makefile.am +@@ -110,7 +110,7 @@ endif + + EXTRA_DIST=$(D_SRC) $(INCL_C) $(INIT_L) $(INCL_TEXI)\ + lsp cmpnew mod pcl clcs ansi-tests elisp xbin bench \ +- majvers minvers git.tag release ++ majvers minvers git.tag release bin/c23.awk + + # end of primaries + +@@ -123,7 +123,7 @@ INCL_TEXI=$(addprefix info/,$(addsuffix + + INCL_C=o/sgbc.c o/gmp_big.c o/gmp.c o/gmp_num_log.c o/cmac.c o/regexp.c o/unexelf.c o/unexmacosx.c o/unexnt.c \ + o/save.c o/xdrfuns.c o/fasdump.c o/usig2_aux.c o/sfaslelf.c o/sfaslmacho.c o/sfaslcoff.c gcl-tk/comm.c \ +- o/sfasli.c o/firstfile.c o/lastfile.c ++ o/sfasli.c o/firstfile.c o/lastfile.c o/pre_qfv.c + INIT_L=unixport/sys_init.c unixport/sys.c o/boot.c unixport/cinit.lisp + BASE_H= h/compbas2.h h/compbas.h h/compprotos.h h/cstack.h h/enum.h h/error.h h/eval.h h/fixnum.h h/frame.h \ + h/funlink.h h/globals.h h/gmp_wrappers.h h/immnum.h h/include.h h/lex.h h/linux.h h/lu.h h/make-init.h \ +@@ -459,8 +459,8 @@ h/cmpincludea.h: $(filter-out gclincl.h, + $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@ + + o/qfv.c: o/pre_qfv.c h/new_decl.h bin/c23.awk +- chmod +x bin/c23.awk +- $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | bin/c23.awk >$@ ++ chmod +x $(word 3,$^) ++ $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | $(word 3,$^) >$@ + + h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h + @cat $^ >new_$(@F) +--- gcl27-2.7.1.orig/Makefile.in ++++ gcl27-2.7.1/Makefile.in +@@ -1017,7 +1017,7 @@ dist_noinst_DATA = $(am__append_5) $(am_ + + EXTRA_DIST = $(D_SRC) $(INCL_C) $(INIT_L) $(INCL_TEXI)\ + lsp cmpnew mod pcl clcs ansi-tests elisp xbin bench \ +- majvers minvers git.tag release ++ majvers minvers git.tag release bin/c23.awk + + + # end of primaries +@@ -1030,7 +1030,7 @@ INCL_TEXI = $(addprefix info/,$(addsuffi + + INCL_C = o/sgbc.c o/gmp_big.c o/gmp.c o/gmp_num_log.c o/cmac.c o/regexp.c o/unexelf.c o/unexmacosx.c o/unexnt.c \ + o/save.c o/xdrfuns.c o/fasdump.c o/usig2_aux.c o/sfaslelf.c o/sfaslmacho.c o/sfaslcoff.c gcl-tk/comm.c \ +- o/sfasli.c o/firstfile.c o/lastfile.c ++ o/sfasli.c o/firstfile.c o/lastfile.c o/pre_qfv.c + + INIT_L = unixport/sys_init.c unixport/sys.c o/boot.c unixport/cinit.lisp + BASE_H = h/compbas2.h h/compbas.h h/compprotos.h h/cstack.h h/enum.h h/error.h h/eval.h h/fixnum.h h/frame.h \ +@@ -4907,8 +4907,8 @@ h/cmpincludea.h: $(filter-out gclincl.h, + $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@ + + o/qfv.c: o/pre_qfv.c h/new_decl.h bin/c23.awk +- chmod +x bin/c23.awk +- $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | bin/c23.awk >$@ ++ chmod +x $(word 3,$^) ++ $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | $(word 3,$^) >$@ + + h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h + @cat $^ >new_$(@F) +--- gcl27-2.7.1.orig/cmpnew/gcl_cmpcall.lsp ++++ gcl27-2.7.1/cmpnew/gcl_cmpcall.lsp +@@ -301,8 +301,11 @@ + (unless (= nreq nsup) (list "_n==" (- (1+ nreq)) (unless st "&&"))) + (unless st "_l==Cnil") ")")) + +-(defun mod-argstr (n call st nsup) +- (let* ((x (commasep (append (nobs nsup "#") (nobs (- n nsup)) (when st (list "_l"))))) ++(defun nobs-wrap (nobs sig &aux (at (car sig))) ++ (mapcar (lambda (x y) (ms (cdr (assoc y +to-c-var-alist+)) "(" x ")")) nobs at)) ++ ++(defun mod-argstr (n call st nsup sig) ++ (let* ((x (commasep (append (nobs nsup "#") (nobs-wrap (nobs (- n nsup)) sig) (when st (list "_l"))))) + (s (or (position #\# call) (length call)))) + (ms (subseq call 0 s) x))) + +@@ -349,7 +352,7 @@ + (let ((nl (list (string #\Newline) " "))) + (ms (list "@" (nords (1+ nsup)) ";") + "({" (bind-str nreq nsup nl) nl (cond-str nreq nsup st) " ? " nl +- (nvfun-wrap cname (mod-argstr nreq argstr st nsup) sig clp ap) " : " nl ++ (nvfun-wrap cname (mod-argstr nreq argstr st nsup sig) sig clp ap) " : " nl + (insufficient-arg-str fnstr nreq nsup sig st) ";})"))))) + + +@@ -490,14 +493,16 @@ + + + (defun stub (num name args type clp +- &aux (va (eq '* (car (last args)))) (n (if va 1 0))(i (max n (- (length args) n)));FIXME ++ &aux (va (eq '* (car (last args)))) (n (if va 1 0)) ++ (i (max n (- (length args) n)));FIXME ++ (si (write-to-string i)) + (d (declaration-type (rep-type (if (link-arg-p type) type t))))) + (concatenate + 'string + (stub-decl (concatenate 'string "LnkT" num) args d t) + "{ +- int nargs=" (if va "fcall.argd<0 ? -fcall.argd : fcall.argd" (write-to-string i)) "; +- object *FOO=alloca(nargs*sizeof(*FOO)); ++ int nargs=" (if va "fcall.argd<0 ? -fcall.argd : fcall.argd" si) "; ++ object *FOO=alloca((nargs>" si "? nargs : " si ")*sizeof(*FOO)); + " + + (let ((j 0)) +@@ -512,9 +517,9 @@ + " + { + va_list ap; +- va_start(ap,x" (write-to-string i) "); ++ va_start(ap,x" si "); + int i; +- for (i=" (write-to-string i) ";i +Date: Feb, 26 2026 16:58:56 +0000 +Subject: [PATCH] + +TODO: Put a short summary on the line above and replace this paragraph +with a longer explanation of this change. Complete the meta-information +with other relevant fields (see below for details). To make it easier, the +information below has been extracted from the changelog. Adjust it or drop +it. + +Bug-Debian: https://bugs.debian.org/1108096 +Bug-Debian: https://bugs.debian.org/1118704 +Bug-Debian: https://bugs.debian.org/1122744 +Bug-Debian: https://bugs.debian.org/1128546 +Bug-Debian: https://bugs.debian.org/1128663 +--- +The information above should follow the Patch Tagging Guidelines, please +checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here +are templates for supplementary fields that you might want to add: + +Origin: (upstream|backport|vendor|other), (|commit:) +Bug: +Bug-: +Forwarded: (no|not-needed|) +Applied-Upstream: , (|commit:) +Reviewed-By: + +--- gcl27-2.7.1.orig/ansi-tests/read-byte.lsp ++++ gcl27-2.7.1/ansi-tests/read-byte.lsp +@@ -96,7 +96,9 @@ + (let ((s (open "foo.txt" + :direction :input + :element-type '(unsigned-byte 8)))) +- (read-byte s)) ++ (unwind-protect ++ (read-byte s) ++ (close s))) + end-of-file)) + t) + +--- gcl27-2.7.1.orig/git.tag ++++ gcl27-2.7.1/git.tag +@@ -1,2 +1 @@ +-"Version_2_7_2pre10" +- ++"Version_2_7_2pre11" +--- gcl27-2.7.1.orig/h/protoize.h ++++ gcl27-2.7.1/h/protoize.h +@@ -73,7 +73,6 @@ struct key {short n,allow_other_keys; + /* bind.c:975:OF */ extern void set_key_struct (struct key *ks, object data); /* (ks, data) struct key *ks; object data; */ + /* bind.c:995:OF */ extern void gcl_init_bind (void); /* () */ + /* block.c:121:OF */ extern void gcl_init_block (void); /* () */ +-/* bsearch.c:5:OF */ extern void *bsearch (const void *key, const void *base, size_t nel, size_t keysize, int (*compar) (const void *,const void *)); /* (key, base, nel, keysize, compar) char *key; char *base; unsigned int nel; unsigned int keysize; int (*compar)(); */ + #if defined (__MINGW32__) + /* bzero.c:3:OF */ /* extern void bzero (char *b, size_t length); */ /* (b, length) char *b; int length; */ + #endif +--- gcl27-2.7.1.orig/lsp/gcl_make_pathname.lsp ++++ gcl27-2.7.1/lsp/gcl_make_pathname.lsp +@@ -43,7 +43,7 @@ + (string-concatenate "(" (substitute #\^ #\! (subseq x 0 2)) (subseq x 2) ")"))) + (cons #v"\\*" (lambda (x y) (declare (ignore x)) (if (plusp (length y)) (string-concatenate "([^" y "]*)") "(.*)"))) + (cons #v"\\?" (lambda (x y) (declare (ignore x)) (if (plusp (length y)) (string-concatenate "([^" y "])") "(.)"))) +- (cons #v"\\." (lambda (x y) (declare (ignore x y))"\\.")))) ++ (cons #v"[+|.^$()]" (lambda (x y) (declare (ignore x y))(string-concatenate "\\" x))))) + + (defconstant +physical-pathname-defaults+ '(("" "" "" "") + ("" "" "" "") +--- gcl27-2.7.1.orig/lsp/gcl_truename.lsp ++++ gcl27-2.7.1/lsp/gcl_truename.lsp +@@ -8,7 +8,13 @@ + (fr (set-fr fr (if (eql i -1) n i))) + (l (when (eq (stat1 fr) :link) (readlinkat 0 fr)))) + (cond (l (let ((b (if (eql #\/ (aref l 0)) 0 b))) +- (link-expand (concatenate 'string (set-fr fr b) l (frame (if (eql i -1) n i) n)) b))) ++ (link-expand (concatenate ++ 'string ++ (set-fr fr b) ++ (let ((ll (1- (length l)))) ++ (if (eql #\/ (aref l ll)) (subseq l 0 ll) l)) ++ (frame (if (eql i -1) n i) n)) ++ b))) + ((eql i -1) str) + ((link-expand str (1+ i) n fr)))))) + diff --git a/patches/Version_2_7_2pre2 b/patches/Version_2_7_2pre2 new file mode 100644 index 0000000..12d0bd8 --- /dev/null +++ b/patches/Version_2_7_2pre2 @@ -0,0 +1,2242 @@ +Description: Update to git tag Version_2_7_2pre2 + Git tag update +Forwarded: not-needed +Author: Camm Maguire + +--- gcl27-2.7.1.orig/Makefile.am ++++ gcl27-2.7.1/Makefile.am +@@ -1,4 +1,5 @@ +-export C_INCLUDE_PATH=$(srcdir)/h:$(srcdir)/gcl-tk ++C_INCLUDE_PATH:=$(srcdir)/h:$(srcdir)/gcl-tk:$(C_INCLUDE_PATH) ++export C_INCLUDE_PATH + + AM_CPPFLAGS=$(BASE_CPPFLAGS) + AM_CFLAGS=$(BASE_CFLAGS) +@@ -244,14 +245,14 @@ unixport/saved_%: | unixport/raw_% unixp + ln -snf gcl_cmpnopt_$*.lsp ../unixport/gcl_cmpnopt.lsp && \ + mkdir h && \ + ln -snf ../../h/cmpinclude.h h/ && \ +- GCL_LSPSYSDIR=../$(srcdir)/unixport/ \ +- ../unixport/raw_$* $$(dirname $$(pwd))/unixport/ -libdir $$(dirname $$(pwd))/ \ +- < <(cat ../unixport/init_raw.lsp <(echo "(system:save-system \"../$@\")")) && \ +- rm -f ../unixport/gcl_cmpnopt.lsp ++ echo "(system:save-system \"../$@\")" | cat ../unixport/init_raw.lsp - | \ ++ GCL_LSPSYSDIR=../$(srcdir)/unixport/ GCL_MEM_BOUND=29 \ ++ ../unixport/raw_$* $$(dirname $$(pwd))/unixport/ -libdir $$(dirname $$(pwd))/ && \ ++ rm -f ../unixport/gcl_cmpnopt.lsp #FIXME GCL_MEM_BOUND darwin limited raw heap xcode linker __huge issue + rm -rf sb_$* + + unixport/raw_%: unixport/lib%.a +- $(CC) $(AM_LDFLAGS) -rdynamic -Wl,-z,relro $(LDFLAGS) -o $@ $< $(LIBS) #FIXME relro ++ $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $< $(LIBS) #FIXME relro + + unixport/gcl_cmpnopt_gcl_gprof.lsp unixport/gcl_cmpnopt_ansi_gcl_gprof.lsp:\ + unixport/gcl_cmpnopt_%_gprof.lsp: unixport/gcl_cmpnopt_%.lsp +@@ -309,7 +310,7 @@ unixport/mod_gcl: | unixport/saved_mod_ + unixport/pcl_gcl: | unixport/saved_mod_gcl + unixport/ansi_gcl: | unixport/saved_pcl_gcl + $(addprefix unixport/,gcl0 gcl1): unixport/% : unixport/cinit.lisp | % +- $(word 2,$|) < <(cat $< <(echo "(system:save-system \"$@\")")) ++ echo "(system:save-system \"$@\")" | cat $< - | $(word 2,$|) + $(addprefix unixport/,gcl2 gcl3 gcl mod_gcl): unixport/% : | % + ln -snf $$(basename $(word 2,$|)) $@ + +@@ -434,16 +435,16 @@ CMPINCLUDE_FILES=h/cmpincl1.h h/gclincl. + CLEANFILES+=h/cmpinclude.h h/mstdint.h h/cmpincludea.h h/mcompdefs.h + + h/mstdint.h: +- echo "#include " | $(CC) -E -I./h/ - | $(AWK) '/fsid/ {next} {print}' >$@ ++ echo "#include " | $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - | $(AWK) '/fsid/ {next} {print}' >$@ + + h/mcompdefs.h: h/compdefs.h h/new_decl.h + $(AWK) 'BEGIN {print "#include \"include.h\"";print "#include \"page.h\"";print "---"} {a=$$1;gsub("\\.\\.\\.","",a);print "\"#define " $$1 "\" " a}' $< |\ +- $(CC) $(AM_CPPFLAGS) $(AM_CFLAGS) -E -P -I./h/ - |\ ++ $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - |\ + $(AWK) '/^\-\-\-$$/ {i=1;next} {if (!i) next} {gsub("\"","");print}' >$@ + + h/cmpincludea.h: $(filter-out gclincl.h,$(CMPINCLUDE_FILES)) | h/gclincl.h # FIXME! + cat $< $| $(filter-out $<,$^) | \ +- $(CC) $(AM_CPPFLAGS) $(AM_CFLAGS) -E -I./h/ - | \ ++ $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - | \ + $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@ + + h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h +@@ -454,7 +455,7 @@ h/cmpinclude.h: h/mcompdefs.h h/cmpinclu + h/new_decl.h: $(INI_FILES) + echo '#include "make-decl.h"' > foo.c + cat $^ |sed 's,DEFBFUN,DEFUN,g' >> foo.c +- $(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) foo.c | sed -n -e '/#/d' -e '/DO_/d' -e '/[a-zA-Z;]/p' > $@ ++ $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) foo.c | sed -n -e '/DO_/d' -e '/[a-zA-Z;]/p' > $@ + rm -f foo.c + + o/boot.h: %.h: %.ini +@@ -472,7 +473,7 @@ o/boot.ini: CPPFLAGS += -DNO_BOOT_H + # parallel builds can only have one target accessing an intermediate file + # solved with BUILT_SOURCES + o/%.ini: o/%.c | o/grab_defs +- @$(CPP) $(AM_CPPFLAGS) -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F) ++ @$(CPP) $(AM_CPPFLAGS) -P -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F) + @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@ + @rm -f new_$(@F) + +@@ -483,6 +484,16 @@ o/new_init.c: $(INI_FILES) + echo '}' >> $@ + ! cat $@ | awk -F, '/DEFUN/ {print $$1,$$2}' | grep -v object || (rm $@ && false) + ++sbr_ansi-tests/random_test: ansi-tests | unixport/saved_ansi_gcl ++ [ -d $(@D) ] || (mkdir $(@D) && cp $>$@ + + h/mstdint.h: +- echo "#include " | $(CC) -E -I./h/ - | $(AWK) '/fsid/ {next} {print}' >$@ ++ echo "#include " | $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - | $(AWK) '/fsid/ {next} {print}' >$@ + + h/mcompdefs.h: h/compdefs.h h/new_decl.h + $(AWK) 'BEGIN {print "#include \"include.h\"";print "#include \"page.h\"";print "---"} {a=$$1;gsub("\\.\\.\\.","",a);print "\"#define " $$1 "\" " a}' $< |\ +- $(CC) $(AM_CPPFLAGS) $(AM_CFLAGS) -E -P -I./h/ - |\ ++ $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - |\ + $(AWK) '/^\-\-\-$$/ {i=1;next} {if (!i) next} {gsub("\"","");print}' >$@ + + h/cmpincludea.h: $(filter-out gclincl.h,$(CMPINCLUDE_FILES)) | h/gclincl.h # FIXME! + cat $< $| $(filter-out $<,$^) | \ +- $(CC) $(AM_CPPFLAGS) $(AM_CFLAGS) -E -I./h/ - | \ ++ $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - | \ + $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@ + + h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h +@@ -4746,7 +4746,7 @@ h/cmpinclude.h: h/mcompdefs.h h/cmpinclu + h/new_decl.h: $(INI_FILES) + echo '#include "make-decl.h"' > foo.c + cat $^ |sed 's,DEFBFUN,DEFUN,g' >> foo.c +- $(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) foo.c | sed -n -e '/#/d' -e '/DO_/d' -e '/[a-zA-Z;]/p' > $@ ++ $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) foo.c | sed -n -e '/DO_/d' -e '/[a-zA-Z;]/p' > $@ + rm -f foo.c + + o/boot.h: %.h: %.ini +@@ -4762,7 +4762,7 @@ o/boot.ini: CPPFLAGS += -DNO_BOOT_H + # parallel builds can only have one target accessing an intermediate file + # solved with BUILT_SOURCES + o/%.ini: o/%.c | o/grab_defs +- @$(CPP) $(AM_CPPFLAGS) -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F) ++ @$(CPP) $(AM_CPPFLAGS) -P -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F) + @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@ + @rm -f new_$(@F) + +@@ -4773,6 +4773,16 @@ o/new_init.c: $(INI_FILES) + echo '}' >> $@ + ! cat $@ | awk -F, '/DEFUN/ {print $$1,$$2}' | grep -v object || (rm $@ && false) + ++sbr_ansi-tests/random_test: ansi-tests | unixport/saved_ansi_gcl ++ [ -d $(@D) ] || (mkdir $(@D) && cp $ m 0)) + do (si::fwrite tem 0 m st-a)))))) +- +-#+dos +-(progn +-(defun directory (x &aux ans) +- (let* ((pa (pathname x)) +- (temp "XXDIR") +- tem +- (name (pathname-name pa))) +- (setq pa (make-pathname :directory (pathname-directory pa) +- :name (or (pathname-name pa) :wild) +- :type (pathname-type pa))) +- (setq name (namestring pa)) +- (safe-system (format nil "ls -d ~a > ~a" name temp)) +- (with-open-file (st temp) +- (loop (setq tem (read-line st nil nil)) +- (if (and tem (setq tem (probe-file tem))) +- (push tem ans) (return)))) +- ans)) +- +- +-(defun user-homedir-pathname () +- (or (si::getenv "HOME") "/")) +- +-) +- + ; + ; These functions are added to build custom images requiring + ; the loading of binary objects on systems relocating with dlopen. +--- gcl27-2.7.1.orig/configure ++++ gcl27-2.7.1/configure +@@ -664,7 +664,6 @@ BASE_CFLAGS + NIFLAGS + FINAL_CFLAGS + BASE_LDFLAGS +-ALLOCA + EXT + TCL_LIB_SPEC + TK_LIB_SPEC +@@ -2189,65 +2188,6 @@ printf "%s\n" "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + + } # ac_fn_check_decl +- +-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES +-# ------------------------------------------- +-# Tests whether TYPE exists after having included INCLUDES, setting cache +-# variable VAR accordingly. +-ac_fn_c_check_type () +-{ +- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack +- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +-printf %s "checking for $2... " >&6; } +-if eval test \${$3+y} +-then : +- printf %s "(cached) " >&6 +-else case e in #( +- e) eval "$3=no" +- cat confdefs.h - <<_ACEOF >conftest.$ac_ext +-/* end confdefs.h. */ +-$4 +-int +-main (void) +-{ +-if (sizeof ($2)) +- return 0; +- ; +- return 0; +-} +-_ACEOF +-if ac_fn_c_try_compile "$LINENO" +-then : +- cat confdefs.h - <<_ACEOF >conftest.$ac_ext +-/* end confdefs.h. */ +-$4 +-int +-main (void) +-{ +-if (sizeof (($2))) +- return 0; +- ; +- return 0; +-} +-_ACEOF +-if ac_fn_c_try_compile "$LINENO" +-then : +- +-else case e in #( +- e) eval "$3=yes" ;; +-esac +-fi +-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +-fi +-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +-esac +-fi +-eval ac_res=\$$3 +- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +-printf "%s\n" "$ac_res" >&6; } +- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno +- +-} # ac_fn_c_check_type + ac_configure_args_raw= + for ac_arg + do +@@ -7155,9 +7095,10 @@ add_args_to_cflags -fsigned-char -pipe + -std=gnu17 \ + -Wall \ + -Wno-builtin-requires-header -Wno-empty-body -Wno-self-assign \ +- -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 ++ -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 \ ++ -fbracket-depth=512 + +-add_args_to_ldflags -no-pie # -Wl,-z,lazy ++add_args_to_ldflags -no-pie -Wl,-z,relro # -Wl,-z,lazy + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inline semantics" >&5 + printf %s "checking for inline semantics... " >&6; } +@@ -9600,10 +9541,11 @@ else case e in #( + #include + int + main(int argc,char **argv,char **envp) { +- FILE *fp = fopen("conftest1","w"),*f=fopen("/proc/self/maps","r"); ++ FILE *fp = fopen("conftest1","w"),*f; + unsigned long i,j; + char b[4096]; + i=(unsigned long)alloca(sizeof(void *)); ++ f=fopen("/proc/self/maps","r"); + for (j=0;j + int + main(int argc,char **argv,char **envp) { +- FILE *fp = fopen("conftest1","w"),*f=fopen("/proc/self/maps","r"); ++ FILE *fp = fopen("conftest1","w"),*f; + unsigned long i,j; + char b[4096],*stack_map_base; + #include "$srcdir/h/cstack.h" + i=(unsigned long)alloca(sizeof(void *)); ++ f=fopen("/proc/self/maps","r"); + for (j=0;j&5 + printf "%s\n" "not found" >&6; } + fi +- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking output_mach" >&5 +-printf %s "checking output_mach... " >&6; } +- output_mach=`cat gcl.script |grep OUTPUT_ARCH|head -n 1|sed 's,.*(\(.*\)).*,\1:,1'|cut -f2 -d:|tr '-' '_'|tr -d '.'`; + +- if test "$output_mach" = "common" ; then #FIXME +- output_mach="" +- fi +- defaulted="" +- if test "$output_mach" = "" ; then +- if test "$output_arch" = "i386" ; then +- output_mach="i386_i386"; +- defaulted="(defaulted)" +- fi +- fi +- if test "$output_mach" != "" ; then +- +-printf "%s\n" "#define OUTPUT_MACH bfd_mach_${output_mach}" >>confdefs.h + +- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $defaulted bfd_mach_${output_mach}" >&5 +-printf "%s\n" "$defaulted bfd_mach_${output_mach}" >&6; } +- else +- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5 +-printf "%s\n" "not found" >&6; } +- fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying to adjust text start" >&5 + printf "%s\n" "$as_me: trying to adjust text start" >&6;} +@@ -11372,6 +11293,75 @@ if test "x$ac_cv_header_dis_asm_h" = xye + then : + printf "%s\n" "#define HAVE_DIS_ASM_H 1" >>confdefs.h + MLIBS=$LIBS ++ ++# ac_fn_c_check_type LINENO TYPE VAR INCLUDES ++# ------------------------------------------- ++# Tests whether TYPE exists after having included INCLUDES, setting cache ++# variable VAR accordingly. ++ac_fn_c_check_type () ++{ ++ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 ++printf %s "checking for $2... " >&6; } ++if eval test \${$3+y} ++then : ++ printf %s "(cached) " >&6 ++else case e in #( ++ e) eval "$3=no" ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$4 ++int ++main (void) ++{ ++if (sizeof ($2)) ++ return 0; ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO" ++then : ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$4 ++int ++main (void) ++{ ++if (sizeof (($2))) ++ return 0; ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_compile "$LINENO" ++then : ++ ++else case e in #( ++ e) eval "$3=yes" ;; ++esac ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ++fi ++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; ++esac ++fi ++eval ac_res=\$$3 ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 ++printf "%s\n" "$ac_res" >&6; } ++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno ++ ++} # ac_fn_c_check_type ++ac_fn_c_check_type "$LINENO" "fprintf_styled_ftype" "ac_cv_type_fprintf_styled_ftype" "#include ++" ++if test "x$ac_cv_type_fprintf_styled_ftype" = xyes ++then : ++ ++printf "%s\n" "#define HAVE_FPRINTF_STYLED_FTYPE 1" >>confdefs.h ++ ++ ++fi ++ + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for init_disassemble_info in -lopcodes" >&5 + printf %s "checking for init_disassemble_info in -lopcodes... " >&6; } + if test ${ac_cv_lib_opcodes_init_disassemble_info+y} +@@ -11670,171 +11660,6 @@ then : + + fi + +-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" +-if test "x$ac_cv_type_size_t" = xyes +-then : +- +-else case e in #( +- e) +-printf "%s\n" "#define size_t unsigned int" >>confdefs.h +- ;; +-esac +-fi +- +-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works +-# for constant arguments. Useless! +-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 +-printf %s "checking for working alloca.h... " >&6; } +-if test ${ac_cv_working_alloca_h+y} +-then : +- printf %s "(cached) " >&6 +-else case e in #( +- e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +-/* end confdefs.h. */ +-#include +-int +-main (void) +-{ +-char *p = (char *) alloca (2 * sizeof (int)); +- if (p) return 0; +- ; +- return 0; +-} +-_ACEOF +-if ac_fn_c_try_link "$LINENO" +-then : +- ac_cv_working_alloca_h=yes +-else case e in #( +- e) ac_cv_working_alloca_h=no ;; +-esac +-fi +-rm -f core conftest.err conftest.$ac_objext conftest.beam \ +- conftest$ac_exeext conftest.$ac_ext ;; +-esac +-fi +-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 +-printf "%s\n" "$ac_cv_working_alloca_h" >&6; } +-if test $ac_cv_working_alloca_h = yes; then +- +-printf "%s\n" "#define HAVE_ALLOCA_H 1" >>confdefs.h +- +-fi +- +-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 +-printf %s "checking for alloca... " >&6; } +-if test ${ac_cv_func_alloca_works+y} +-then : +- printf %s "(cached) " >&6 +-else case e in #( +- e) ac_cv_func_alloca_works=$ac_cv_working_alloca_h +-if test "$ac_cv_func_alloca_works" != yes +-then : +- cat confdefs.h - <<_ACEOF >conftest.$ac_ext +-/* end confdefs.h. */ +-#include +-#include +-#ifndef alloca +-# ifdef __GNUC__ +-# define alloca __builtin_alloca +-# elif defined _MSC_VER +-# include +-# define alloca _alloca +-# else +-# ifdef __cplusplus +-extern "C" +-# endif +-void *alloca (size_t); +-# endif +-#endif +- +-int +-main (void) +-{ +-char *p = (char *) alloca (1); +- if (p) return 0; +- ; +- return 0; +-} +-_ACEOF +-if ac_fn_c_try_link "$LINENO" +-then : +- ac_cv_func_alloca_works=yes +-fi +-rm -f core conftest.err conftest.$ac_objext conftest.beam \ +- conftest$ac_exeext conftest.$ac_ext +-fi ;; +-esac +-fi +-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 +-printf "%s\n" "$ac_cv_func_alloca_works" >&6; } +- +-if test $ac_cv_func_alloca_works = yes; then +- +-printf "%s\n" "#define HAVE_ALLOCA 1" >>confdefs.h +- +-else +- # The SVR3 libPW and SVR4 libucb both contain incompatible functions +-# that cause trouble. Some versions do not even contain alloca or +-# contain a buggy version. If you still want to use their alloca, +-# use ar to extract alloca.o from them instead of compiling alloca.c. +- +-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext +- +-printf "%s\n" "#define C_ALLOCA 1" >>confdefs.h +- +- +-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 +-printf %s "checking stack direction for C alloca... " >&6; } +-if test ${ac_cv_c_stack_direction+y} +-then : +- printf %s "(cached) " >&6 +-else case e in #( +- e) if test "$cross_compiling" = yes +-then : +- ac_cv_c_stack_direction=0 +-else case e in #( +- e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +-/* end confdefs.h. */ +-$ac_includes_default +-int +-find_stack_direction (int *addr, int depth) +-{ +- int dir, dummy = 0; +- if (! addr) +- addr = &dummy; +- *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; +- dir = depth ? find_stack_direction (addr, depth - 1) : 0; +- return dir + dummy; +-} +- +-int +-main (int argc, char **argv) +-{ +- return find_stack_direction (0, argc + !argv + 20) < 0; +-} +-_ACEOF +-if ac_fn_c_try_run "$LINENO" +-then : +- ac_cv_c_stack_direction=1 +-else case e in #( +- e) ac_cv_c_stack_direction=-1 ;; +-esac +-fi +-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ +- conftest.$ac_objext conftest.beam conftest.$ac_ext ;; +-esac +-fi +- ;; +-esac +-fi +-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 +-printf "%s\n" "$ac_cv_c_stack_direction" >&6; } +-printf "%s\n" "#define STACK_DIRECTION $ac_cv_c_stack_direction" >>confdefs.h +- +- +-fi +- +- + + #LDFLAGS="`echo $GPL_FLAG $LDFLAGS | sed 's,gcl.script,../unixport/gcl.script,g'`" + LDFLAGS="`echo $GPL_FLAG $LDFLAGS`" +--- gcl27-2.7.1.orig/configure.ac ++++ gcl27-2.7.1/configure.ac +@@ -232,9 +232,10 @@ add_args_to_cflags -fsigned-char -pipe + -std=gnu17 \ + -Wall \ + -Wno-builtin-requires-header -Wno-empty-body -Wno-self-assign \ +- -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 ++ -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 \ ++ -fbracket-depth=512 + +-add_args_to_ldflags -no-pie # -Wl,-z,lazy ++add_args_to_ldflags -no-pie -Wl,-z,relro # -Wl,-z,lazy + + AC_MSG_CHECKING([for inline semantics]) + AC_COMPILE_IFELSE( +@@ -1039,10 +1040,11 @@ if test $cstack_direction -eq 1 ; then + #include + int + main(int argc,char **argv,char **envp) { +- FILE *fp = fopen("conftest1","w"),*f=fopen("/proc/self/maps","r"); ++ FILE *fp = fopen("conftest1","w"),*f; + unsigned long i,j; + char b[4096]; + i=(unsigned long)alloca(sizeof(void *)); ++ f=fopen("/proc/self/maps","r"); + for (j=0;j + int + main(int argc,char **argv,char **envp) { +- FILE *fp = fopen("conftest1","w"),*f=fopen("/proc/self/maps","r"); ++ FILE *fp = fopen("conftest1","w"),*f; + unsigned long i,j; + char b[4096],*stack_map_base; + #include "$srcdir/h/cstack.h" + i=(unsigned long)alloca(sizeof(void *)); ++ f=fopen("/proc/self/maps","r"); + for (j=0;j]) + AC_CHECK_LIB(opcodes,init_disassemble_info) + AC_CHECK_LIB(dl,dlopen,#opcodes changes too quickly to link directly + AC_CHECK_FUNCS(print_insn_i386,LIBS="$MLIBS -ldl"))) +@@ -1841,8 +1848,6 @@ AC_CONFIG_FILES([bin/gcl]) + + AC_CHECK_HEADERS(sys/mman.h,AC_CHECK_FUNCS(mprotect)) + AC_CHECK_HEADERS(alloca.h) +-AC_FUNC_ALLOCA +- + + #LDFLAGS="`echo $GPL_FLAG $LDFLAGS | sed 's,gcl.script,../unixport/gcl.script,g'`" + LDFLAGS="`echo $GPL_FLAG $LDFLAGS`" +--- gcl27-2.7.1.orig/git.tag ++++ gcl27-2.7.1/git.tag +@@ -1,2 +1,2 @@ +-"Version_2_7_2ore1" ++"Version_2_7_2ore2" + +--- /dev/null ++++ gcl27-2.7.1/git_touch +@@ -0,0 +1,7 @@ ++#!/bin/bash ++ ++touch aclocal.m4 \ ++ configure.ac gcl-tk/gcltksrv.in bin/gcl.in unixport/init_raw.lsp.in h/gclincl.h.in \ ++ configure \ ++ Makefile.am Makefile.in \ ++ info/gcl.info info/gcl-si.info info/gcl-tk.info info/gcl-dwdoc.info +--- gcl27-2.7.1.orig/h/386-linux.h ++++ gcl27-2.7.1/h/386-linux.h +@@ -9,3 +9,5 @@ + #define SGC + + #define RELOC_H "elf32_i386_reloc.h" ++ ++#define OUTPUT_MACH bfd_mach_i386_i386 +--- gcl27-2.7.1.orig/h/386-macosx.h ++++ gcl27-2.7.1/h/386-macosx.h +@@ -21,23 +21,11 @@ + #undef HAVE_ELF + + +-/** sbrk(2) emulation */ +- + /* Alternatively, we could use the global variable vm_page_size. */ + #define PAGEWIDTH 12 + +-/* The following value determines the running process heap size. */ +-/* #define BIG_HEAP_SIZE 0x50000000 */ +- +-extern char *mach_mapstart; +-extern char *mach_maplimit; +-extern char *mach_brkpt; +- +-extern char *get_dbegin (); + + #include /* to get sbrk defined */ +-extern void *my_sbrk(long incr); +-#define sbrk my_sbrk + + + /** (si::save-system "...") a.k.a. unexec implementation */ +@@ -101,36 +89,7 @@ do { + sigaction (SIGSEGV, &sact, 0); \ + } while (0); + +-/* si_addr not containing the faulting address is a bug in Darwin. +- Work around this by looking at the dar field of the exception state. */ + #define GET_FAULT_ADDR(sig,code,sv,a) ((siginfo_t *)code)->si_addr +-/* #define GET_FAULT_ADDR(sig,code,scp,addr) ((char *) (((ucontext_t *) scp)->uc_mcontext->es.dar)) */ +- +-/* +-#include +-#include +-#include +-#include +- +-void handler (int sig, siginfo_t *info, void *scp) +-{ +- ucontext_t *uc = (ucontext_t *)scp; +- fprintf(stderr, "addr = 0x%08lx\n", uc->uc_mcontext->es.dar); +- _exit(99); +-} +- +-int main(void) +-{ +- struct sigaction sact; +- int ret; +- +- sigfillset(&(sact.sa_mask)); +- sact.sa_flags = SA_SIGINFO; +- sact.sa_sigaction = (void (*)())handler; +- ret = sigaction (SIGBUS, &sact, 0); +- return *(int *)0x43; +-} +-*/ + + + /** Misc stuff */ +@@ -199,3 +158,7 @@ if (realpath (buf, fub) == 0) { + #include /*PATH_MAX MAXPATHLEN*/ + #undef MIN + #undef MAX ++ ++#undef sbrk ++#define sbrk msbrk ++#define INITIALIZE_BRK msbrk_init(); +--- gcl27-2.7.1.orig/h/aarch64-linux.h ++++ gcl27-2.7.1/h/aarch64-linux.h +@@ -5,3 +5,5 @@ + + #define NEED_STACK_CHK_GUARD + #define SGC ++ ++#define OUTPUT_MACH bfd_mach_aarch64 +--- gcl27-2.7.1.orig/h/alpha-linux.h ++++ gcl27-2.7.1/h/alpha-linux.h +@@ -10,3 +10,5 @@ + + /*FIXME probe broken in recent kernels, no access*/ + /* #define DEFINED_REAL_MAXPAGE (1UL<<18) /\*FIXME brk probe broken*\/ */ ++ ++#define OUTPUT_MACH bfd_mach_alpha_ev6 +--- gcl27-2.7.1.orig/h/amd64-linux.h ++++ gcl27-2.7.1/h/amd64-linux.h +@@ -14,3 +14,5 @@ + #define MAX_CODE_ADDRESS (1L<<31)/*large memory model broken gcc 4.8*/ + #define MAX_DEFAULT_MEMORY_MODEL_CODE_ADDRESS (1UL<<31) + #define LARGE_MEMORY_MODEL /*working -mcmodel=large giving unrestricted code load addresses*/ ++ ++#define OUTPUT_MACH bfd_mach_x86_64 +--- gcl27-2.7.1.orig/h/arm-linux.h ++++ gcl27-2.7.1/h/arm-linux.h +@@ -6,3 +6,5 @@ + #define SPECIAL_RELOC_H "elf32_arm_reloc_special.h" + + #define NEED_STACK_CHK_GUARD ++ ++#define OUTPUT_MACH bfd_mach_arm_9 +--- gcl27-2.7.1.orig/h/armhf-linux.h ++++ gcl27-2.7.1/h/armhf-linux.h +@@ -6,3 +6,5 @@ + #define SPECIAL_RELOC_H "elf32_armhf_reloc_special.h" + + #define NEED_STACK_CHK_GUARD ++ ++#define OUTPUT_MACH bfd_mach_arm_9 +--- gcl27-2.7.1.orig/h/cstack.h ++++ gcl27-2.7.1/h/cstack.h +@@ -34,17 +34,22 @@ + { + void *p,*p1,*b,*s; + int a,f=MAP_FIXED|MAP_PRIVATE|MAP_ANON|MAP_STACK; ++ int ss= ++#ifdef CHECK_FOR_QEMU ++ qemu_p() ? FIXED_STACK : ++#endif ++ SS; + + p=alloca(1); + p1=alloca(1); +- b=CTOP-(p1

CTOP || p < b) { +- if (mmap(b,SS,PROT_READ|PROT_WRITE|PROT_EXEC,f,-1,0)!=(void *)-1) { ++ if (mmap(b,ss,PROT_READ|PROT_WRITE|PROT_EXEC,f,-1,0)!=(void *)-1) { + stack_map_base=b; + asm volatile (SET_STACK_POINTER::"r" (s):"memory"); + if (p1>p) +--- gcl27-2.7.1.orig/h/gclincl.h.in ++++ gcl27-2.7.1/h/gclincl.h.in +@@ -12,9 +12,6 @@ + /* whether C stack grows up or down */ + #undef CSTACK_DIRECTION + +-/* Define to 1 if using 'alloca.c'. */ +-#undef C_ALLOCA +- + /* debug safecdr code */ + #undef DEBUG_SAFE_CDR + +@@ -27,10 +24,7 @@ + /* using gmp */ + #undef GMP + +-/* Define to 1 if you have 'alloca', as a function or macro. */ +-#undef HAVE_ALLOCA +- +-/* Define to 1 if works. */ ++/* Define to 1 if you have the header file. */ + #undef HAVE_ALLOCA_H + + /* have __builtin__clear_cache instruction */ +@@ -72,6 +66,9 @@ + /* Define to 1 if you have the header file. */ + #undef HAVE_FLOAT_H + ++/* Define to 1 if the system has the type 'fprintf_styled_ftype'. */ ++#undef HAVE_FPRINTF_STYLED_FTYPE ++ + /* Define to 1 if you have the 'getcwd' function. */ + #undef HAVE_GETCWD + +@@ -261,9 +258,6 @@ + /* bfd output arch */ + #undef OUTPUT_ARCH + +-/* bfd output mach */ +-#undef OUTPUT_MACH +- + /* Name of package */ + #undef PACKAGE + +@@ -321,14 +315,6 @@ + /* The size of 'short', as computed by sizeof. */ + #undef SIZEOF_SHORT + +-/* If using the C implementation of alloca, define if you know the +- direction of stack growth for your system; otherwise it will be +- automatically deduced at runtime. +- STACK_DIRECTION > 0 => grows toward higher addresses +- STACK_DIRECTION < 0 => grows toward lower addresses +- STACK_DIRECTION = 0 => direction of growth unknown */ +-#undef STACK_DIRECTION +- + /* staticly linked images */ + #undef STATIC_LINKING + +@@ -461,6 +447,3 @@ + + /* short gmp3 limbs */ + #undef __SHORT_LIMB +- +-/* Define as 'unsigned int' if doesn't define. */ +-#undef size_t +--- gcl27-2.7.1.orig/h/hppa-linux.h ++++ gcl27-2.7.1/h/hppa-linux.h +@@ -17,3 +17,5 @@ + + #define RELOC_H "elf32_hppa_reloc.h" + #define SPECIAL_RELOC_H "elf32_hppa_reloc_special.h" ++ ++#define OUTPUT_MACH bfd_mach_hppa11 +--- gcl27-2.7.1.orig/h/loongarch64-linux.h ++++ gcl27-2.7.1/h/loongarch64-linux.h +@@ -10,3 +10,5 @@ + /* #define MAX_CODE_ADDRESS (1L<<31)/\*large memory model broken gcc 4.8*\/ */ + + #define NEED_STACK_CHK_GUARD ++ ++#define OUTPUT_MACH bfd_mach_loongarch64 +--- gcl27-2.7.1.orig/h/m68k-linux.h ++++ gcl27-2.7.1/h/m68k-linux.h +@@ -56,3 +56,5 @@ int cacheflush(void *,int,int,int); + #define NEED_STACK_CHK_GUARD + + /* #define DEFINED_REAL_MAXPAGE (1UL<<18) /\*FIXME brk probe broken*\/ */ ++ ++#define OUTPUT_MACH bfd_mach_m68060 +--- gcl27-2.7.1.orig/h/mipsel-linux.h ++++ gcl27-2.7.1/h/mipsel-linux.h +@@ -1,3 +1,5 @@ + #include "linux.h" + + #define SGC ++ ++#define OUTPUT_MACH bfd_mach_mipsisa64r6 +--- gcl27-2.7.1.orig/h/powerpc-linux.h ++++ gcl27-2.7.1/h/powerpc-linux.h +@@ -11,6 +11,7 @@ + + #if SIZEOF_LONG == 4 + #define RELOC_H "elf32_ppc_reloc.h" ++#define OUTPUT_MACH bfd_mach_ppc + #else + #ifdef WORDS_BIGENDIAN + #define RELOC_H "elf64_ppc_reloc.h" +@@ -20,5 +21,6 @@ + #define RELOC_H "elf64_ppcle_reloc.h" + #define SPECIAL_RELOC_H "elf64_ppcle_reloc_special.h" + #endif ++#define OUTPUT_MACH bfd_mach_ppc64 + #define C_GC_OFFSET 4 + #endif +--- gcl27-2.7.1.orig/h/riscv64-linux.h ++++ gcl27-2.7.1/h/riscv64-linux.h +@@ -9,3 +9,5 @@ + /* #define MAX_CODE_ADDRESS (1L<<31)/\*large memory model broken gcc 4.8*\/ */ + + #define NEED_STACK_CHK_GUARD ++ ++#define OUTPUT_MACH bfd_mach_riscv64 +--- gcl27-2.7.1.orig/h/s390-linux.h ++++ gcl27-2.7.1/h/s390-linux.h +@@ -6,6 +6,9 @@ + #define C_GC_OFFSET 4 + #define RELOC_H "elf64_s390_reloc.h" + #define SPECIAL_RELOC_H "elf64_sparc_reloc_special.h" ++#define OUTPUT_MACH #define bfd_mach_s390_64 + #else + #define RELOC_H "elf32_s390_reloc.h" ++#define OUTPUT_MACH #define bfd_mach_s390_32 + #endif ++ +--- gcl27-2.7.1.orig/h/sh4-linux.h ++++ gcl27-2.7.1/h/sh4-linux.h +@@ -21,3 +21,5 @@ + #define NEED_STACK_CHK_GUARD + + /* #define DEFINED_REAL_MAXPAGE (1UL<<18) /\*FIXME brk probe broken*\/ */ ++ ++#define OUTPUT_MACH bfd_mach_sh4 +--- gcl27-2.7.1.orig/h/sparc-linux.h ++++ gcl27-2.7.1/h/sparc-linux.h +@@ -18,3 +18,5 @@ void unwind() __attribute__((optimize("O + /* #if SIZEOF_LONG == 8 */ + /* #define C_GC_OFFSET 4 */ + /* #endif */ ++ ++#define OUTPUT_MACH bfd_mach_sparc_v9 +--- gcl27-2.7.1.orig/info/character.texi ++++ gcl27-2.7.1/info/character.texi +@@ -40,14 +40,14 @@ This is faster than CHAR. + @end defun + + @defvr {Constant} CHAR-SUPER-BIT +-Package:LISP ++Package:SI + The bit that indicates a super character. + + + @end defvr + + @defvr {Constant} CHAR-FONT-LIMIT +-Package:LISP ++Package:SI + The upper exclusive bound on values produced by CHAR-FONT. + + +@@ -63,7 +63,7 @@ If not, simply returns CHAR. + @end defun + + @defun STRING-CHAR-P (char) +-Package:LISP ++Package:SI + + Returns T if CHAR can be stored in a string. In GCL, this function always + returns T since any character in GCL can be stored in a string. +@@ -113,7 +113,7 @@ otherwise. + @end defun + + @defvr {Constant} CHAR-HYPER-BIT +-Package:LISP ++Package:SI + The bit that indicates a hyper character. + + +@@ -137,7 +137,7 @@ Returns the code attribute of CHAR. + @end defun + + @defvr {Constant} CHAR-CONTROL-BIT +-Package:LISP ++Package:SI + The bit that indicates a control character. + + +@@ -154,7 +154,7 @@ is used. + @end defun + + @defun CHAR-FONT (char) +-Package:LISP ++Package:SI + + Returns the font attribute of CHAR. + +@@ -179,7 +179,7 @@ otherwise. + @end defun + + @defvr {Constant} CHAR-META-BIT +-Package:LISP ++Package:SI + The bit that indicates a meta character. + + +@@ -204,7 +204,7 @@ Upper case character and its lower case + @end defun + + @defvr {Constant} CHAR-BITS-LIMIT +-Package:LISP ++Package:SI + The upper exclusive bound on values produced by CHAR-BITS. + + +@@ -243,7 +243,7 @@ Returns T if CHAR is an upper-case chara + @end defun + + @defun CHAR-BIT (char name) +-Package:LISP ++Package:SI + + Returns T if the named bit is on in the character CHAR; NIL otherwise. + In GCL, this function always returns NIL. +@@ -252,7 +252,7 @@ In GCL, this function always returns NIL + @end defun + + @defun MAKE-CHAR (char &optional (bits 0) (font 0)) +-Package:LISP ++Package:SI + + Returns a character object with the same code attribute as CHAR and with + the specified BITS and FONT attributes. +@@ -350,7 +350,7 @@ Returns T if CHAR is either numeric or a + @end defun + + @defun CHAR-BITS (char) +-Package:LISP ++Package:SI + + Returns the bits attribute (which is always 0 in GCL) of CHAR. + +@@ -367,7 +367,7 @@ Returns NIL if no such character exists. + @end defun + + @defun SET-CHAR-BIT (char name newvalue) +-Package:LISP ++Package:SI + + Returns a character just like CHAR except that the named bit is set or + cleared, according to whether NEWVALUE is non-NIL or NIL. This function +--- gcl27-2.7.1.orig/info/compile.texi ++++ gcl27-2.7.1/info/compile.texi +@@ -20,7 +20,7 @@ NIL, these files are automatically delet + @end defun + + @defun LINK (files image &optional post extra-libs (run-user-init t) &aux raw init) +-Package:LISP ++Package:COMPILER + + On systems where dlopen is used for relocations, one cannot make custom + images containing loaded binary object files simply by loading the files +@@ -242,24 +242,6 @@ their lisp names. Please see also the P + + @end defun + +- +-@defun GPROF-SET (begin end) +-Package:SYSTEM +- +-GCL now has preliminary support for profiling with gprof, an +-externally supplied profiling tool at the C level which typically +-accompanies gcc. Support must be enabled at compile time with +---enable-gprof. This function sets the address range used by +-GPROF-START in specifying the section of the running program which is +-to be profiled. All subsequent calls to GPROF-START will use this new +-address range. By default, the range is set to begin at the starting +-address of the .text section, and to end at the current end of the +-running core. These default values can be restored by calling +-GPROF-SET with both argments set to 0. +- +-@end defun +- +- + @defvar *DEFAULT-SYSTEM-P* + Package:COMPILER + Specifies the default setting of :SYSTEM-P used by COMPILE. Defaults to NIL. +--- gcl27-2.7.1.orig/info/compiler-defs.texi ++++ gcl27-2.7.1/info/compiler-defs.texi +@@ -102,7 +102,7 @@ or + @end example + + @end defun +-@defun COMPILER-DEFAULT-TYPE (pathname) ++@defun *COMPILER-DEFAULT-TYPE* (pathname) + Package:COMPILER + + Allows you to set the default file extension for compiler source files. +@@ -150,13 +150,6 @@ NIL + + + @end defun +-@defun COMPILER-RESET-TYPE () +-Package:COMPILER +- +-Resets the default compiler input file extension to the GCL historical +-value of #''.lsp''. +- +-@end defun + @defvar *CC* + Package:COMPILER + Has value a string which controls which C compiler is used by GCL. +--- gcl27-2.7.1.orig/info/form.texi ++++ gcl27-2.7.1/info/form.texi +@@ -9,7 +9,7 @@ List of all the lambda-list keywords use + @end defvr + + @defun GET-SETF-METHOD (form) +-Package:LISP ++Package:SI + + Returns the five values (or five 'gangs') constituting the SETF method for + FORM. See the doc of DEFINE-SETF-METHOD for the meanings of the gangs. It +@@ -345,7 +345,7 @@ Also, see the function doc of PPRINT for + @end deffn + + @defvar *EVALHOOK* +-Package:LISP ++Package:SI + If *EVALHOOK* is not NIL, its value must be a function that can receive + two arguments: a form to evaluate and an environment. This function does + the evaluation instead of EVAL. +@@ -521,7 +521,7 @@ a function. Actually, however, there is + @end defvr + + @defun APPLYHOOK (function args evalhookfn applyhookfn &optional (env nil)) +-Package:LISP ++Package:SI + + Applies FUNCTION to ARGS, with *EVALHOOK* bound to EVALHOOKFN and with + *APPLYHOOK* bound to APPLYHOOKFN. Ignores the hook function once, for the +@@ -682,7 +682,7 @@ TEST. Returns NIL, if all TESTs evaluat + @end deffn + + @defun GET-SETF-METHOD-MULTIPLE-VALUE (form) +-Package:LISP ++Package:SI + Returns the five values (or five 'gangs') + constituting the SETF method for FORM. See the doc of + DEFINE-SETF-METHOD for the meanings of the gangs. The third value +@@ -769,7 +769,7 @@ returns the value(s) of the last FORM. + @end deffn + + @deffn {Macro} DEFINE-SETF-METHOD +-Package:LISP ++Package:SI + + Syntax: + @example +@@ -799,7 +799,7 @@ by (documentation 'NAME 'setf). + @end deffn + + @deffn {Special Form} COMPILER-LET +-Package:LISP ++Package:SI + + Syntax: + @example +@@ -891,7 +891,7 @@ Creates a NIL block, binds VARs in paral + @end deffn + + @defvar *APPLYHOOK* +-Package:LISP ++Package:SI + Used to substitute another function for the implicit APPLY normally done + within EVAL. If *APPLYHOOK* is not NIL, its value must be a function + which takes three arguments: a function to be applied, a list of arguments, +@@ -1032,7 +1032,7 @@ form. + @end deffn + + @defun EVALHOOK (form evalhookfn applyhookfn &optional (env nil)) +-Package:LISP ++Package:SI + + Evaluates FORM with *EVALHOOK* bound to EVALHOOKFN and *APPLYHOOK* bound + to APPLYHOOKFN. Ignores these hooks once, for the top-level evaluation +--- gcl27-2.7.1.orig/info/internal.texi ++++ gcl27-2.7.1/info/internal.texi +@@ -2,7 +2,7 @@ + @chapter GCL Specific + + @defun SYSTEM (string) +-Package:LISP ++Package:SI + + GCL specific: Executes a Shell command as if STRING is an input to the + Shell. Not all versions of GCL support this function. At least on +@@ -49,16 +49,8 @@ on which GCL is currently running. + + @end defun + +-@defun BY () +-Package:LISP +- +-GCL specific: Exits from GCL. +- +- +-@end defun +- + @deffn {Macro} DEFCFUN +-Package:LISP ++Package:SI + + Syntax: + @example +@@ -126,7 +118,7 @@ C-type: + @end deffn + + @deffn {Macro} CLINES +-Package:LISP ++Package:SI + + Syntax: + @example +@@ -148,7 +140,7 @@ specified in the environment. + @end defun + + @defun ALLOCATE (type number &optional (really-allocate nil)) +-Package:LISP ++Package:SI + + GCL specific: Sets the maximum number of pages for the type class of the + GCL implementation type TYPE to NUMBER. If REALLY-ALLOCATE is given a +@@ -159,7 +151,7 @@ immediately. + @end defun + + @defun GBC (x) +-Package:LISP ++Package:SI + + GCL specific: Invokes the garbage collector (GC) with the collection level + specified by X. NIL as the argument causes GC to collect cells only. T as +@@ -169,7 +161,7 @@ the argument causes GC to collect everyt + @end defun + + @defun SAVE (pathname) +-Package:LISP ++Package:SI + + GCL specific: Saves the current GCL core image into a program file specified + by PATHNAME. This function depends on the version of GCL. The function +@@ -180,7 +172,7 @@ currently loaded .o files. + @end defun + + @defun HELP* (string &optional (package 'lisp)) +-Package:LISP ++Package:USER + + GCL specific: Prints the documentation associated with those symbols in the + specified package whose print names contain STRING as substring. STRING may +@@ -191,7 +183,7 @@ is NIL, then all packages are searched. + @end defun + + @deffn {Macro} DEFLA +-Package:LISP ++Package:SI + + Syntax: + @example +@@ -214,7 +206,7 @@ NIL otherwise. See the doc of DECLARE f + @end defun + + @deffn {Macro} DEFENTRY +-Package:LISP ++Package:SI + + Syntax: + @example +@@ -282,7 +274,7 @@ implementation dependent results. + @end defun + + @defun BYE ( &optional (exit-status 0)) +-Package:LISP ++Package:SI + + GCL specific: Exits from GCL with exit-status. + +@@ -290,7 +282,7 @@ GCL specific: Exits from GCL with exit-s + @end defun + + @defun USE-FAST-LINKS (turn-on) +-Package:LISP ++Package:SI + + GCL specific: If TURN-ON is not nil, the fast link mechanism is enabled, + so that ordinary function calls will not appear in the invocation stack, +--- gcl27-2.7.1.orig/info/number.texi ++++ gcl27-2.7.1/info/number.texi +@@ -86,7 +86,7 @@ BIT-ARRAY1 if RESULT-BIT-ARRAY is T, or + @end defun + + @defun INT-CHAR (integer) +-Package:LISP ++Package:SI + + Performs the inverse of CHAR-INT. Equivalent to CODE-CHAR in GCL. + +--- gcl27-2.7.1.orig/info/si-defs.texi ++++ gcl27-2.7.1/info/si-defs.texi +@@ -41,14 +41,6 @@ calling this the defstruct should not be + + + @end defun +-@defun MAXIMUM-ALLOCATABLE-PAGES (type) +-Package:SI +- +-GCL specific: Returns the current maximum number of pages for the type class +-of the GCL implementation type TYPE. +- +- +-@end defun + @defun ALLOCATED-RELOCATABLE-PAGES () + Package:SI + +@@ -64,14 +56,6 @@ Give SYMBOL the VALUE on INDICATOR prope + + + @end defun +-@defun ALLOCATED-PAGES (type) +-Package:SI +- +-GCL specific: Returns the number of pages currently allocated for the type +-class of the GCL implementation type TYPE. +- +- +-@end defun + @defun ALLOCATE-RELOCATABLE-PAGES (number) + Package:SI + +@@ -420,18 +404,6 @@ type. + + + @end defun +-@defun CATCH-BAD-SIGNALS () +-Package:SI +- +-GCL/BSD specific: Installs a signal catcher for bad signals: +- SIGILL, SIGIOT, SIGEMT, SIGBUS, SIGSEGV, SIGSYS. +-The signal catcher, upon catching the signal, signals an error (and enter +-the break-level). Since the internal memory of GCL may be broken, the user +-should check the signal and exit from GCL if necessary. When the signal +-is caught during garbage collection, GCL terminates immediately. +- +- +-@end defun + @defun RESET-STACK-LIMITS () + Package:SI + +@@ -450,7 +422,7 @@ should be set NIL. + + + @end defvar +-@defvar *GBC-NOTIFY* ++@defvar *NOTIFY-GBC* + Package:SI + GCL specific: If the value is non-NIL, the garbage + collector prints a very brief one line message about the area causing the collection, +@@ -465,7 +437,7 @@ a lisp variable indicating the TYPE whic + + + @end defvar +-@deffn {Funcition} ALLOCATED (type) ++@deffn {Function} ALLOCATED (type) + Package:SI + + Returns 6 values: +@@ -572,13 +544,6 @@ resetting io streams. It would not be + + + @end defun +-@defun UNCATCH-BAD-SIGNALS () +-Package:SI +- +-GCL/BSD specific: Undoes the effect of SI:CATCH-BAD-SIGNALS. +- +- +-@end defun + @defun VS (i) + Package:SI + +@@ -601,13 +566,6 @@ the GCL process. + + + @end defun +-@defvar *DEFAULT-TIME-ZONE* +-Package:SI +-GCL specific: Holds the default time zone. The initial value of SI:*DEFAULT- +-TIME-ZONE* is 6 (the time zone of Austin, Texas). +- +- +-@end defvar + @defun GETENV (string) + Package:SI + +@@ -660,47 +618,36 @@ stack. + + + @end defun +-@defun WRITE-DEBUG-SYMBOLS (start file &key (main-file "/usr/local/schelter/xgcl/unixport/raw_gcl") (output-file "debug-symbols.o" )) +-Package:SI +- +-Write out a file of debug-symbols using address START as the place +-where FILE will be loaded into the running executable MAIN-FILE. The +-last is a keyword argument. +- ++@c @defun PROF (x y) ++@c Package:SI + ++@c These functions in the SI package are GCL specific, and allow monitoring ++@c the run time of functions loaded into GCL, as well as the basic functions. ++@c Sample Usage: ++@c (si::set-up-profile 1000000) (si::prof 0 90) ++@c run program ++@c (si::prof 0 0) ;; turn off profile ++@c (si::display-prof) ++@c (si::clear-profile) ++@c (si::prof 0 90) ;; start profile again ++@c run program ++@c .. ++@c Profile can be stopped with (si::prof 0 0) and restarted with (si::prof 0 90) ++@c The START-ADDRESS will correspond to the beginning of the profile array, and ++@c the SCALE will mean that 256 bytes of code correspond to SCALE bytes in the ++@c profile array. ++ ++@c Thus if the profile array is 1,000,000 bytes long and the code segment is ++@c 5 megabytes long you can profile the whole thing using a scale of 50 ++@c Note that long runs may result in overflow, and so an understating of the ++@c time in a function. ++ ++@c You must run intensively however since, with a scale of 128 it takes ++@c 6,000,000 times through a loop to overflow the sampling in one part of ++@c the code. + + +-@end defun +-@defun PROF (x y) +-Package:SI +- +-These functions in the SI package are GCL specific, and allow monitoring +-the run time of functions loaded into GCL, as well as the basic functions. +- Sample Usage: +- (si::set-up-profile 1000000) (si::prof 0 90) +- run program +- (si::prof 0 0) ;; turn off profile +- (si::display-prof) +- (si::clear-profile) +- (si::prof 0 90) ;; start profile again +- run program +- .. +- Profile can be stopped with (si::prof 0 0) and restarted with (si::prof 0 90) +-The START-ADDRESS will correspond to the beginning of the profile array, and +-the SCALE will mean that 256 bytes of code correspond to SCALE bytes in the +-profile array. +- +-Thus if the profile array is 1,000,000 bytes long and the code segment is +-5 megabytes long you can profile the whole thing using a scale of 50 +-Note that long runs may result in overflow, and so an understating of the +-time in a function. +- +-You must run intensively however since, with a scale of 128 it takes +-6,000,000 times through a loop to overflow the sampling in one part of +-the code. +- +- +-@end defun ++@c @end defun + @defun CATCH-FATAL (i) + Package:SI + +--- gcl27-2.7.1.orig/info/structure.texi ++++ gcl27-2.7.1/info/structure.texi +@@ -34,7 +34,7 @@ a lisp structure correspond to a C struc + @end deffn + + @defun HELP (&optional symbol) +-Package:LISP ++Package:USER + + GCL specific: Prints the documentation associated with SYMBOL. With no + argument, this function prints the greeting message to GCL beginners. +--- gcl27-2.7.1.orig/info/type.texi ++++ gcl27-2.7.1/info/type.texi +@@ -34,7 +34,7 @@ Returns T if X is of the type TYPE; NIL + @end defun + + @defun COMMONP (x) +-Package:LISP ++Package:SI + + Returns T if X is a Common Lisp object; NIL otherwise. + +--- gcl27-2.7.1.orig/info/user-interface.texi ++++ gcl27-2.7.1/info/user-interface.texi +@@ -61,7 +61,7 @@ Evaluates FORM in the single-step mode a + @end deffn + + @defvar *BREAK-ENABLE* +-Package:LISP ++Package:SI + GCL specific: When an error occurrs, control enters to the break loop only + if the value of this variable is non-NIL. + +@@ -99,7 +99,7 @@ Holds the I/O stream used by the GCL deb + @end defvar + + @defvar *BREAK-ON-WARNINGS* +-Package:LISP ++Package:SI + When the function WARN is called, control enters to the break loop only + if the value of this varialbe is non-NIL. + +--- gcl27-2.7.1.orig/lsp/gcl_listlib.lsp ++++ gcl27-2.7.1/lsp/gcl_listlib.lsp +@@ -371,7 +371,8 @@ + + (defseq union (nil (l1 l2) :list t) + (let (rp) +- (prog1 (or (mapcan (lambda (x) ++ (prog1 (or (unless l2 l1) ++ (mapcan (lambda (x) + (unless (member (key x) l2 :test #'test) + (setq rp (cons x nil)))) + l1) +@@ -380,21 +381,26 @@ + + + (defseq set-difference (nil (l1 l2) :list t) +- (mapcan (lambda (x) ++ (if l2 ++ (mapcan (lambda (x) + (unless (member (key x) l2 :test #'test) + (cons x nil))) +- l1)) ++ l1) ++ l1)) + + + (defseq set-exclusive-or (nil (l1 l2) :list t) +- (let (rp (rr (copy-list l2))) +- (prog1 (or (mapcan (lambda (x &aux (k (key x))) ++ (let (rp tmp n2) ++ (declare (dynamic-extent tmp)) ++ (or (unless l2 l1) ++ (prog1 (mapcan (lambda (x &aux (k (key x))) + (if (member k l2 :test #'test) +- (unless (setq rr (delete k rr :test #'test))) ++ (unless (push k tmp)) + (setq rp (cons x nil)))) + l1) +- rr) +- (when rp (rplacd rp rr))))) ++ (setq n2 (set-difference l2 tmp :test (lambda (x y) (funcall #'test y x)))) ++ (when rp (rplacd rp n2))) ++ n2))) + + (defseq nintersection (nil (l1 l2) :list t) + (let (r rp) +--- gcl27-2.7.1.orig/lsp/gcl_lr.lsp ++++ gcl27-2.7.1/lsp/gcl_lr.lsp +@@ -106,7 +106,8 @@ + + (defbltin clzl) + (defbltin ctzl) +-(defbltin popcountl) ++#-darwin(defbltin popcountl) ;Macports builtin calls external function outside symbol table ++#+darwin(defmacro popcountl (x) `(popcount ,x)) + (defbltin parityl) + (defbltin ffsl) + +--- gcl27-2.7.1.orig/lsp/gcl_make_pathname.lsp ++++ gcl27-2.7.1/lsp/gcl_make_pathname.lsp +@@ -112,10 +112,12 @@ + (defun canonicalize-pathname-directory (l) + (cond ((eq l :wild) (canonicalize-pathname-directory '(:absolute :wild-inferiors))) + ((stringp l) (canonicalize-pathname-directory (list :absolute l))) +- ((mapl (lambda (x &aux (c (car x))) +- (when (and (or (stringp c) (eq c :wild)) (eq (cadr x) :back)) ++ ((mapl (lambda (x &aux (c (car x)) ++ (skip (cond ((equal c ".") (cdr x)) ++ ((when (or (stringp c) (eq c :wild)) (eq (cadr x) :back)) (cddr x))))) ++ (when skip + (return-from canonicalize-pathname-directory +- (canonicalize-pathname-directory (nconc (ldiff-nf l x) (cddr x)))))) ++ (canonicalize-pathname-directory (nconc (ldiff-nf l x) skip))))) + l)))) + + (defvar *default-pathname-defaults* (init-pathname nil nil nil nil nil nil "")) +--- gcl27-2.7.1.orig/o/file.d ++++ gcl27-2.7.1/o/file.d +@@ -1439,7 +1439,8 @@ BEGIN: + + #ifdef USE_READLINE + if (readline_on && strm->sm.sm_fp==rl_instream) +- if (rl_line_buffer) return *rl_line_buffer ? TRUE : FALSE; ++ /*FIXME homogenize this*/ ++ if (rl_line_buffer) return *rl_line_buffer && *rl_line_buffer!=EOF ? TRUE : FALSE; + #endif + if (strm->sm.sm_fp == NULL) + closed_stream(strm); +--- gcl27-2.7.1.orig/o/main.c ++++ gcl27-2.7.1/o/main.c +@@ -186,7 +186,8 @@ next_line(int l,ufixnum *s) { + ssize_t i; + char *p; + +- if (*s && (n=strlen(FN1))) { ++ if (*s) { ++ n=strlen(FN1); + memmove(FN1,FN1+n+1,sizeof(FN1)-(n+1)); + *s-=n+1; + } +@@ -406,6 +407,31 @@ setup_maxpages(double scale) { + + } + ++int ++qemu_p(void) { ++ ++#if !defined(DARWIN) && !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__MINGW64__)/*FIXME*/ ++ ++ char *c; ++ ufixnum e,r=0; ++ int l; ++ ++ massert((l=open("/proc/cpuinfo",O_RDONLY))!=-1); ++ ++ for (e=0;!e && (c=next_line(l,&r));) ++ e=!memcmp("model",c,5) && strstr(c,"QEMU"); ++ ++ massert(!close(l)); ++ ++ return e; ++ ++#else ++ ++ return 0; ++ ++#endif ++} ++ + + static void * + next_shared_lib_map_no_malloc(void) { +@@ -727,6 +753,7 @@ main(int argc, char **argv, char **envp) + bds_top = bds_org-1; + frs_top = frs_org-1; + ++#define CHECK_FOR_QEMU + #include "cstack.h" + + gcl_init_alloc(alloca(1)); +@@ -1432,6 +1459,7 @@ my_fprintf(void *v,const char *f,...) { + return r; + } + ++#ifdef HAVE_FPRINTF_STYLED_FTYPE + static int + my_fprintf_styled(void *v,enum disassembler_style,const char *f,...) { + va_list va; +@@ -1441,6 +1469,7 @@ my_fprintf_styled(void *v,enum disassemb + va_end(va); + return r; + } ++#endif + + static int + my_read(bfd_vma memaddr, bfd_byte *myaddr, unsigned int length, struct disassemble_info *dinfo) { +@@ -1468,14 +1497,18 @@ DEFUN("DISASSEMBLE-INSTRUCTION",object,f + + if ((v=dlopen("libopcodes.so",RTLD_NOW))) { + if ((s=dlsym(v,"init_disassemble_info"))) { +- s(&i, stdout,(fprintf_ftype) my_fprintf,my_fprintf_styled); ++ s(&i, stdout,(fprintf_ftype)my_fprintf ++#ifdef HAVE_FPRINTF_STYLED_FTYPE ++ ,my_fprintf_styled ++#endif ++ ); + i.read_memory_func=my_read; + i.print_address_func=my_pa; + #if defined(OUTPUT_MACH) + i.mach=OUTPUT_MACH; + #endif + if ((s=dlsym(v,"disassembler"))) { +- disassembler_ftype disasm=(disassembler_ftype)(ufixnum)s(OUTPUT_ARCH,false,0,NULL);/*bfd_mach_x86_64*/ ++ disassembler_ftype disasm=(disassembler_ftype)(ufixnum)s(OUTPUT_ARCH,0,0,NULL); + bp=b; + disasm(addr,&i); + my_fprintf(NULL," ;"); +--- gcl27-2.7.1.orig/o/msbrk.c ++++ gcl27-2.7.1/o/msbrk.c +@@ -17,13 +17,21 @@ msbrk_end(void) { + + } + +-#if !defined(DARWIN) && !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__MINGW64__)/*FIXME*/ ++#if !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__MINGW64__)/*FIXME*/ + + static void * + new_map(void *v,ufixnum s) { + return mmap(v,s,PROT_READ|PROT_WRITE|PROT_EXEC,MAP_PRIVATE|MAP_ANON|MAP_FIXED,-1,0); + } + ++#if defined(DARWIN) ++/*This initial heap must be large enough to initialize the raw image, ++ but not so large that the Mac linker ignores the segment designation ++ and creates a __huge section under __DATA for this and other ++ variables. We enlarge this on unexec.*/ ++asm (".zerofill __HEAP,__heap,__end,0x70000000\n\t.globl __end"); ++#endif ++ + int + msbrk_init(void) { + +--- gcl27-2.7.1.orig/o/num_sfun.c ++++ gcl27-2.7.1/o/num_sfun.c +@@ -802,7 +802,6 @@ DEFUN("ISINF",object,fSisinf,SI,1,1,NONE + + } + +- + void + gcl_init_num_sfun(void) + { +--- gcl27-2.7.1.orig/o/sfaslmacho.c ++++ gcl27-2.7.1/o/sfaslmacho.c +@@ -208,7 +208,7 @@ load_memory(struct section *sec1,struct + if (LOAD_SEC(sec)) + memcpy((void *)sec->addr,v1+sec->offset,sec->size); + else +- bzero((void *)sec->sh_addr,sec->sh_size); ++ bzero((void *)sec->addr,sec->size); + } + + if (**got) { +--- gcl27-2.7.1.orig/o/unexmacosx.c ++++ gcl27-2.7.1/o/unexmacosx.c +@@ -211,9 +211,6 @@ vm_range_t marked_regions [MAX_MARKED_RE + + unsigned num_marked_regions; + +-/* Size of the heap. */ +-static unsigned long big_heap; +- + /* Start of the heap. */ + char *mach_mapstart = 0; + +@@ -543,42 +540,6 @@ copy_data_segment (struct load_command * + unexec_error ("cannot write header of __DATA segment"); + curr_header_offset += lc->cmdsize; + +- /* Create new __DATA segment load commands for regions on the region +- list that do not corresponding to any segment load commands in +- the input file. +- */ +- /* for (j = 0; j < num_unexec_regions; j++) */ +- { +- struct segment_command sc; +- +- sc.cmd = LC_SEGMENT; +- sc.cmdsize = sizeof (struct segment_command); +- /* strncpy (sc.segname, SEG_DATA, 16); */ +- strncpy (sc.segname, "__HEAP", 16); +- sc.vmaddr = (long)mach_mapstart; +- sc.vmsize = mach_maplimit-mach_mapstart; +- sc.fileoff = curr_file_offset; +- sc.filesize = core_end-mach_mapstart; +- sc.maxprot = VM_PROT_READ | VM_PROT_WRITE | VM_PROT_EXECUTE; +- sc.initprot = VM_PROT_READ | VM_PROT_WRITE /* | VM_PROT_EXECUTE */; +- sc.nsects = 0; +- sc.flags = 0; +- +-#if VERBOSE +- printf ("Writing segment %-16.16s @ %#8lx (%#8lx/%#8lx @ %#10lx)\n", +- sc.segname, (long) (sc.fileoff), (long) (sc.filesize), +- (long) (sc.vmsize), (long) (sc.vmaddr)); +-#endif +- +- if (!unexec_write (sc.fileoff, (void *) sc.vmaddr, sc.filesize)) +- unexec_error ("cannot write new __DATA segment"); +- curr_file_offset += ROUNDUP_TO_PAGE_BOUNDARY (sc.filesize); +- +- if (!unexec_write (curr_header_offset, &sc, sc.cmdsize)) +- unexec_error ("cannot write new __DATA segment's header"); +- curr_header_offset += sc.cmdsize; +- mh.ncmds++; +- } + } + + /* Copy a LC_SYMTAB load command from the input file to the output +@@ -853,7 +814,7 @@ static void + dump_it () { + + int i; +- long linkedit_delta = 0; ++ long linkedit_delta=0,linkedit_vmdelta=0; + + #if VERBOSE + printf ("--- Load Commands written to Output File ---\n"); +@@ -878,17 +839,46 @@ dump_it () { + + copy_data_segment (lca[i]); + +- } else { ++ } else if (strncmp (scp->segname, "__HEAP", 16) == 0) { + +- if (strncmp (scp->segname, SEG_LINKEDIT, 16) == 0) { +- if (linkedit_delta) +- unexec_error ("cannot handle multiple LINKEDIT segments in input file"); +- linkedit_delta = curr_file_offset - scp->fileoff; +- } ++ extern char *data_start; ++ struct section *sectp = (struct section *) (scp + 1); ++ unsigned long header_offset=curr_header_offset + sizeof (struct segment_command); + +- if (strncmp (scp->segname, "__HEAP", 16) != 0) copy_segment (lca[i]); else mh.ncmds--; ++ scp->vmaddr=(long)data_start; ++ linkedit_vmdelta=(1UL<<37)-scp->vmsize; ++ scp->vmsize=(1UL<<37); ++ scp->fileoff=curr_file_offset; ++ scp->filesize=core_end-data_start; ++ scp->maxprot=VM_PROT_READ | VM_PROT_WRITE | VM_PROT_EXECUTE; ++ scp->initprot=VM_PROT_READ | VM_PROT_WRITE; ++ scp->nsects=1; ++ scp->flags=S_REGULAR; + +- } ++ sectp->addr=scp->vmaddr; ++ sectp->size=scp->filesize; ++ sectp->flags=S_REGULAR; ++ ++ if (!unexec_write (header_offset, sectp, sizeof (struct section))) ++ unexec_error ("cannot write section _HEAP's header"); ++ ++ if (!unexec_write (scp->fileoff, (void *) scp->vmaddr, scp->filesize)) ++ unexec_error ("cannot write __HEAP segment"); ++ curr_file_offset += ROUNDUP_TO_PAGE_BOUNDARY (scp->filesize); ++ ++ if (!unexec_write (curr_header_offset, scp, sizeof (struct segment_command))) ++ unexec_error ("cannot write header of __HEAP segment"); ++ curr_header_offset += scp->cmdsize; ++ ++ } else if (strncmp (scp->segname, SEG_LINKEDIT, 16) == 0) { ++ ++ if (linkedit_delta) ++ unexec_error ("cannot handle multiple LINKEDIT segments in input file"); ++ linkedit_delta = curr_file_offset - scp->fileoff; ++ scp->vmaddr+=linkedit_vmdelta; ++ copy_segment (lca[i]); ++ } else ++ copy_segment (lca[i]); + } + break; + case LC_SYMTAB: +@@ -1035,52 +1025,6 @@ unexec (char *outfile, char *infile, voi + + } + +-/* Replacement for broken sbrk(2). */ +- +-#include +-#include +-unsigned long +-probe_big_heap(unsigned long try,unsigned long inc,unsigned long max) { +- +- void *r; +- +- if ((r=mmap(NULL, try, PROT_READ|PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0))==(void *)-1) +- return try>inc ? probe_big_heap(try-inc,inc>>1,max) : 0; +- munmap(r,try); +- return (!inc || try >=max) ? try : probe_big_heap(try+inc,inc,max); +- +-} +- +-void *my_sbrk (long incr) +-{ +- char *temp, *ptr; +- +- if (mach_brkpt == 0) { +- +- big_heap=(1UL)<<35; +- if (!(big_heap=probe_big_heap(PAGESIZE,big_heap>>1,big_heap))) { +- unexec_error("my_sbrk(): probe_big_heap() failed\n"); +- return ((char *)-1); +- } +- +- mach_brkpt=mmap(NULL, big_heap, PROT_READ|PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0); +- +- mach_mapstart = mach_brkpt; +- mach_maplimit = mach_brkpt + big_heap; +- +- } +- if (incr == 0) { +- return (mach_brkpt); +- } else { +- ptr = mach_brkpt + incr; +- if (ptr mach_maplimit) +- return (char *)-1; +- temp = mach_brkpt; +- mach_brkpt = ptr; +- return (temp); +- } +-} +- + static size_t stub_size (malloc_zone_t *zone, const void *ptr) + { + extern object malloc_list; +--- gcl27-2.7.1.orig/pcl/gcl_pcl_defs.lisp ++++ gcl27-2.7.1/pcl/gcl_pcl_defs.lisp +@@ -411,6 +411,7 @@ + ; (print `(deftype ,name nil `(si::std-instance ,(si::coerce-to-standard-class ',name)))) + ; (print (si::coerce-to-standard-class name)) + (eval `(deftype ,name nil t)) ++ (unintern (get name 'si::simple-typep-fn)) + (remprop name 'si::simple-typep-fn))) + + ;; #+cmu17 (declare (ignore name predicate)) +--- gcl27-2.7.1.orig/xbin/ar_merge ++++ gcl27-2.7.1/xbin/ar_merge +@@ -4,13 +4,14 @@ FLAGS=$1 + shift + ARCHIVE=$1 + shift ++XPWD=$(pwd) + + TMPDIR=$(mktemp -d) + while [ $# -gt 0 ] ; do + case $(basename $1) in + *.o) cp $1 $TMPDIR;; + *.go) cp $1 $TMPDIR/$(echo $(basename $1)|sed 's,\.go,.o,g');; +- *.a) ar x $1 --output $TMPDIR;; ++ *.a) cd $TMPDIR && ar x $XPWD/$1 && cd $XPWD;; + recompile);; + *) echo Bad arg $1 ; exit 1 ;; + esac diff --git a/patches/Version_2_7_2pre5 b/patches/Version_2_7_2pre5 new file mode 100644 index 0000000..c0e1619 --- /dev/null +++ b/patches/Version_2_7_2pre5 @@ -0,0 +1,157 @@ +Description: Update to git tag Version_2_7_2pre5 + Git tag update +Forwarded: not-needed +Author: Camm Maguire + +--- gcl27-2.7.1.orig/git.tag ++++ gcl27-2.7.1/git.tag +@@ -1,2 +1,2 @@ +-"Version_2_7_2ore3" ++"Version_2_7_2ore5" + +--- gcl27-2.7.1.orig/h/cstack.h ++++ gcl27-2.7.1/h/cstack.h +@@ -16,40 +16,31 @@ + #define SET_STACK_POINTER "mov %0,r15\n\t" + #endif + +-#define FIXED_STACK (1UL<<23)/*FIXME configure?*/ +-#if defined(__SH4__)/*FIXME is this just due to qemu?*/ +-#define CTOP (void *)0x80000000 +-#define SS FIXED_STACK ++#define CTOP (void *)0xc0000000/*FIXME configure?*/ ++#define MIN_STACK (1UL<<23)/*QEMU will not grow the stack*/ ++ ++#if defined(__SH4__) ++#undef CTOP ++#define CTOP (void *)0x80000000/*FIXME is this just due to qemu?*/ + #elif defined(__gnu_hurd__) +-#define CTOP (void *)0xc0000000 +-#define SS FIXED_STACK + #define MAP_GROWSDOWN 0 + #define MAP_STACK 0 +-#else +-#define CTOP (void *)0xc0000000/*FIXME configure?*/ +-#define SS getpagesize() + #endif + + #ifdef SET_STACK_POINTER + { +- void *p,*p1,*b,*s; ++ void *p,*p1,*b=CTOP-MIN_STACK,*s; + int a,f=MAP_FIXED|MAP_PRIVATE|MAP_ANON|MAP_STACK; +- int ss= +-#ifdef CHECK_FOR_QEMU +- qemu_p() ? FIXED_STACK : +-#endif +- SS; + + p=alloca(1); + p1=alloca(1); +- b=CTOP-(p1

CTOP || p < b) { +- if (mmap(b,ss,PROT_READ|PROT_WRITE|PROT_EXEC,f,-1,0)!=(void *)-1) { ++ if (mmap(b,MIN_STACK,PROT_READ|PROT_WRITE|PROT_EXEC,f,-1,0)!=(void *)-1) { + stack_map_base=b; + asm volatile (SET_STACK_POINTER::"r" (s):"memory"); + if (p1>p) +--- gcl27-2.7.1.orig/h/elf64_alpha_reloc_special.h ++++ gcl27-2.7.1/h/elf64_alpha_reloc_special.h +@@ -94,7 +94,7 @@ find_special_params(void *v,Shdr *sec1,S + static int + label_got_symbols(void *v1,Shdr *sec1,Shdr *sece,Sym *sym1,Sym *syme,const char *st1,const char *sn,ul *gs) { + +- Sym *sym,*fsym=sym1; ++ Sym *sym; + Rela *r; + Shdr *sec; + void *v,*ve; +@@ -142,12 +142,9 @@ label_got_symbols(void *v1,Shdr *sec1,Sh + + case R_ALPHA_GPDISP: + +- for (sym=fsym;symst_shndx!=1 || LOW(sym->st_value)!=r->r_offset);sym++);/*ordered search*/ +- +- if (symst_value,gotp=*gs+1); +- } ++ for (sym=sym1;symst_shndx!=1 || !LOW(sym->st_size) || LOW(sym->st_value)!=r->r_offset);sym++); ++ if (symst_value,gotp=*gs+1); + + SET_HIGH(r->r_addend,gotp); + +@@ -157,9 +154,8 @@ label_got_symbols(void *v1,Shdr *sec1,Sh + + q=LOW(sym1[ELF_R_SYM(r->r_info)].st_value)+r->r_addend; + +- /*unordered search*/ +- for (sym=sym1;symst_shndx!=1 || LOW(sym->st_value)>q || LOW(sym->st_value)+LOW(sym->st_size)st_shndx!=1 || LOW(sym->st_value)>q || LOW(sym->st_value)+LOW(sym->st_size)<=q);sym++); ++ massert(symst_value)); + + SET_HIGH(r->r_addend,HIGH(sym->st_value)); + +--- gcl27-2.7.1.orig/lsp/gcl_directory.lsp ++++ gcl27-2.7.1/lsp/gcl_directory.lsp +@@ -75,8 +75,7 @@ + (let ((r (with-open-file (s (apply 'string-concatenate "|" #-winnt "command -v " + #+winnt "for %i in (" s #+winnt ".exe) do @echo.%~$PATH:i" nil)) + (read-line s nil 'eof)))) +- (unless (eq r 'eof) +- (string-downcase r)))) ++ (unless (eq r 'eof) r))) + + (defun get-path (s &aux + (e (unless (minusp (string-match #v"([^\n\t\r ]+)([\n\t\r ]|$)" s))(match-end 1))) +--- gcl27-2.7.1.orig/o/main.c ++++ gcl27-2.7.1/o/main.c +@@ -407,32 +407,6 @@ setup_maxpages(double scale) { + + } + +-int +-qemu_p(void) { +- +-#if !defined(DARWIN) && !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__MINGW64__)/*FIXME*/ +- +- char *c; +- ufixnum e,r=0; +- int l; +- +- massert((l=open("/proc/cpuinfo",O_RDONLY))!=-1); +- +- for (e=0;!e && (c=next_line(l,&r));) +- e=!memcmp("model",c,5) && strstr(c,"QEMU"); +- +- massert(!close(l)); +- +- return e; +- +-#else +- +- return 0; +- +-#endif +-} +- +- + static void * + next_shared_lib_map_no_malloc(void) { + +@@ -753,7 +727,6 @@ main(int argc, char **argv, char **envp) + bds_top = bds_org-1; + frs_top = frs_org-1; + +-#define CHECK_FOR_QEMU + #include "cstack.h" + + gcl_init_alloc(alloca(1)); diff --git a/patches/Version_2_7_2pre6 b/patches/Version_2_7_2pre6 new file mode 100644 index 0000000..d49a45b --- /dev/null +++ b/patches/Version_2_7_2pre6 @@ -0,0 +1,419 @@ +Description: + TODO: Put a short summary on the line above and replace this paragraph + with a longer explanation of this change. Complete the meta-information + with other relevant fields (see below for details). To make it easier, the + information below has been extracted from the changelog. Adjust it or drop + it. + . + gcl27 (2.7.1-7) unstable; urgency=medium + . + * Version_2_7_2pre6 + * Bug fix: "[INTL:nl] Dutch debconf templates translation", thanks to Frans Spiesschaert (Closes: #1106482). +Author: Camm Maguire +Bug-Debian: https://bugs.debian.org/1106482 + +--- +The information above should follow the Patch Tagging Guidelines, please +checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here +are templates for supplementary fields that you might want to add: + +Origin: (upstream|backport|vendor|other), (|commit:) +Bug: +Bug-Debian: https://bugs.debian.org/ +Bug-Ubuntu: https://launchpad.net/bugs/ +Forwarded: (no|not-needed|) +Applied-Upstream: , (|commit:) +Reviewed-By: +Last-Update: 2025-05-29 + +--- gcl27-2.7.1.orig/Makefile.am ++++ gcl27-2.7.1/Makefile.am +@@ -270,7 +270,7 @@ unixport/gcl_cmpnopt_pre_gcl.lsp: # FIXM + touch $@ + unixport/gcl_cmpnopt_%.lsp: unixport/lib%.a | unixport/% + echo "(mapc (quote load) (directory \"$*/*.hsh\"))" \ +- "(compiler::dump-inl-hash \"$@\")" | $| ++ "(compiler::dump-inl-hash \"$@\" t)" | $| + + $(addprefix unixport/lib,$(addsuffix .a,pre_gcl $(MY_DIRS))): \ + unixport/lib%.a: lib/libbase_gcl.a $(LIBGPROF) unixport/sys_%.o +@@ -302,7 +302,7 @@ unixport/lib%.a: | xbin/ar_merge + %/recompile: | unixport/% + $| -batch \ + -eval "(let ((si::*do-recomp-output-dir* \"$(@D)\")) (si::do-recomp t))" \ +- -eval "(compiler::dump-inl-hash \"$(@D)/all.hsh\")" ++ -eval "(compiler::dump-inl-hash \"$(@D)/all.hsh\" t)" + touch $@ + + unixport/sys_%.o: unixport/sys_init.c +@@ -418,7 +418,7 @@ mod_gcl/%.o: mod_gcl0/%.o | unixport/mod + rm -rf $*/*.o + echo "(mapc (quote load) (list $(patsubst %,\"%\",$^)))" \ + "(pcl::compile-pcl)" \ +- "(compiler::dump-inl-hash \"$@\")" | $| ++ "(compiler::dump-inl-hash \"$@\" t)" | $| + + %/all.hsh: %/p1.lisp %/all.hs1 | unixport/pcl_gcl + echo "pcl conflicts:" +--- gcl27-2.7.1.orig/Makefile.in ++++ gcl27-2.7.1/Makefile.in +@@ -4701,7 +4701,7 @@ unixport/gcl_cmpnopt_pre_gcl.lsp: # FIXM + touch $@ + unixport/gcl_cmpnopt_%.lsp: unixport/lib%.a | unixport/% + echo "(mapc (quote load) (directory \"$*/*.hsh\"))" \ +- "(compiler::dump-inl-hash \"$@\")" | $| ++ "(compiler::dump-inl-hash \"$@\" t)" | $| + + $(addprefix unixport/lib,$(addsuffix .a,pre_gcl $(MY_DIRS))): \ + unixport/lib%.a: lib/libbase_gcl.a $(LIBGPROF) unixport/sys_%.o +@@ -4728,7 +4728,7 @@ unixport/lib%.a: | xbin/ar_merge + %/recompile: | unixport/% + $| -batch \ + -eval "(let ((si::*do-recomp-output-dir* \"$(@D)\")) (si::do-recomp t))" \ +- -eval "(compiler::dump-inl-hash \"$(@D)/all.hsh\")" ++ -eval "(compiler::dump-inl-hash \"$(@D)/all.hsh\" t)" + touch $@ + + unixport/sys_%.o: unixport/sys_init.c +@@ -4843,7 +4843,7 @@ mod_gcl/%.o: mod_gcl0/%.o | unixport/mod + rm -rf $*/*.o + echo "(mapc (quote load) (list $(patsubst %,\"%\",$^)))" \ + "(pcl::compile-pcl)" \ +- "(compiler::dump-inl-hash \"$@\")" | $| ++ "(compiler::dump-inl-hash \"$@\" t)" | $| + + %/all.hsh: %/p1.lisp %/all.hs1 | unixport/pcl_gcl + echo "pcl conflicts:" +--- gcl27-2.7.1.orig/cmpnew/gcl_cmpeval.lsp ++++ gcl27-2.7.1/cmpnew/gcl_cmpeval.lsp +@@ -648,6 +648,7 @@ + (list (this-safety-level) + (mapcar (lambda (x) (assert (eq (car x) 'ub)) (third x)) (when lf (fifth form))) + (cons (when lf (third form)) (info-type (cadr form))) ++ (ninth form) + (if lf (remove-comment (fourth form)) ""))) + + (defun cl-to-fn (cl) +@@ -672,33 +673,77 @@ + (when (eql (length x) (length cy)) + (every 'type<= x cy)))))))) + ++(defun skip-inl (fm tps tr) ++ (or (member-if 'atomic-tp tps) ++ (atomic-tp (info-type (cadr fm))) ++ (exit-to-fmla-p) ++ (member nil tr) ++ (set-difference ++ (let ((i -1)) (mapcan (lambda (x &aux (y (incf i))) (unless (atomic-tp x) (list y))) tps)) ++ tr))) ++ ++(defun ?update-fm-propagator (fm cl tr tps) ++ (when (symbolp (car cl)) ++ (when (get (car cl) 'type-propagator);?more ++ (when (eq (car fm) 'lit) ++ (when (member-if 'integerp tr) ;otherwise no point ++ (push (list (car cl) tr tps) (ninth fm))))))) ++ ++(defun merge-inl (cl inl pl &aux (tps (pop inl))(tr (pop inl))) ++ (let ((z (member-if (lambda (x) (can-coalesce x tr inl tps)) (car pl)))) ++ (cond (z (coalesce-inl cl (car z) tps (cdr (third inl))) ++ (setf (cdr z) (remove-if (lambda (x) (can-coalesce x tr inl tps)) (cdr z)))) ++ (pl (let ((x (list* tps tr inl))) ++ (keyed-cmpnote (list (car cl) 'inl-hash 'inl-hash-add) ++ "Adding inl-hash ~s: ~s" (car cl) x) ++ (push x (car pl))))))) ++ ++(defun merge-inls (s inls &aux (cl (list s))(pl (get-inl-list cl t))) ++ (mapc (lambda (x) (merge-inl cl x pl)) inls)) ++ + (defun ?add-inl (cl fms fm) +- (unless (or (member-if 'atomic-tp fms :key (lambda (x) (info-type (caddr x)))) +- (atomic-tp (info-type (cadr fm))) (exit-to-fmla-p)); (inls-match cl fms) +- (let* ((tps (mapcar (lambda (x) (info-type (caddr x))) fms)) +- (tr (mapcar (lambda (x &aux (v (car (last x)))) +- (when (and (consp v) (eq (car v) 'var)) +- (position (cddr v) fms :key 'cdddr :test 'equalp)));FIXME +- (if (eq (car fm) 'var) (list (list fm)) (fifth fm)))) +- (nat (let ((i -1)) (mapcan (lambda (x &aux (y (incf i))) (unless (atomic-tp x) (list y))) tps)))) +- (unless (or (member nil tr) (set-difference nat tr)) +- (let* ((pl (get-inl-list cl t)) +- (inl (lit-inl2 fm)) +- (z (member-if (lambda (x) (can-coalesce x tr inl tps)) (car pl)))) +- (cond (z (coalesce-inl cl (car z) tps (cdr (third inl))) +- (setf (cdr z) (remove-if (lambda (x) (can-coalesce x tr inl tps)) (cdr z)))) +- (pl +- (let ((x (list* tps tr inl))) +- (keyed-cmpnote (list (car cl) 'inl-hash 'inl-hash-add) +- "Adding inl-hash ~s: ~s" (car cl) x) +- (push x (car pl)))))))))) ++ (let* ((tps (mapcar (lambda (x) (info-type (caddr x))) fms)) ++ (tr (mapcar (lambda (x &aux (v (car (last x)))) ++ (when (and (consp v) (eq (car v) 'var)) ++ (position (cddr v) fms :key 'cdddr :test 'equalp)));FIXME ++ (if (eq (car fm) 'var) (list (list fm)) (fifth fm))))) ++ (?update-fm-propagator fm cl tr tps) ++ (unless (skip-inl fm tps tr) ++ (merge-inl cl (list* tps tr (lit-inl2 fm)) (get-inl-list cl t))))) + + (defun prepend-comment (form s) + (if *annotate* + (si::string-concatenate "/* " (prin1-to-string form) " */" (remove-comment s)) + s)) + +-(defun apply-inl (cl fms &aux (inl (inls-match cl fms))) ++(defvar *apply-inl-hash* t) ++ ++(defun update-info-type-from-inl (i inl fms &aux (tps (mapcar (lambda (x) (info-type (caddr x))) fms))) ++ (setf (info-type i) ++ (reduce 'type-and ++ (cons (cdr (fifth inl)) ++ (mapcar (lambda (x) ++ (or ++ (result-type-from-args ++ (pop x) ++ (let ((i -1)) ++ (mapcar (lambda (tp &aux (p (position (incf i) (car x)))) ++ (if p (nth (nth p (second inl)) tps) tp)) ++ (cadr x)))) ++ t)) ++ (sixth inl))) ++ :initial-value (info-type i)))) ++ ++(defun merge-fm-propagator (x fms inl) ++ (let* ((tr (mapcar (lambda (x &aux (v (car (last x)))) ++ (when (and (consp v) (eq (car v) 'var)) ++ (position (cddr v) fms :key 'cdddr :test 'equalp)));FIXME ++ (fifth x)))) ++ (mapc (lambda (y) (?update-fm-propagator x y tr (caddr y))) ++ (sixth inl)))) ++ ++ ++(defun apply-inl (cl fms &aux (inl (when *apply-inl-hash* (inls-match cl fms)))) + (when inl + (let* ((c1fms (mapcar (lambda (x) (cdr (nth x fms))) (second inl)))) + (unless (member-if-not (lambda (x) +@@ -706,35 +751,56 @@ + (var (eq (var-kind (caaddr x)) 'lexical)) + ((lit location) t))) + c1fms) +- (cond ((zerop (length (car (last inl)))) +- (let* ((x (car c1fms))(h (pop x)) +- (i (copy-info (pop x)))) +- (setf (info-type i) (type-and (cdr (fifth inl)) (info-type i))) +- (keyed-cmpnote (list (car cl) 'inl-hash 'inl-hash-apply) +- "Applying var inl-hash ~s" (car cl)) +- (list* h i x))) +- ((let ((x (c1lit (list (car (fifth inl)) (prepend-comment (cons 'applied cl) (car (last inl)))) (mapcar 'list (fourth inl) c1fms)))) +- (setf (info-type (cadr x)) (type-and (cdr (fifth inl)) (info-type (cadr x)))) +- (keyed-cmpnote (list (car cl) 'inl-hash 'inl-hash-apply) +- "Applying inl-hash ~s: ~s: ~s" (car cl) (fourth x)) +- x))))))) ++ (let* ((z (zerop (length (car (last inl))))) ++ (x (if z ++ (list* (caar c1fms) (copy-info (cadar c1fms)) (cddar c1fms)) ++ (c1lit (list (car (fifth inl)) (prepend-comment (cons 'applied cl) (car (last inl)))) ++ (mapcar 'list (fourth inl) c1fms))))) ++ (unless z (merge-fm-propagator x fms inl)) ++ (update-info-type-from-inl (cadr x) inl fms) ++ (keyed-cmpnote (list (car cl) 'inl-hash 'inl-hash-apply) ++ "Applying inl-hash ~s: ~s" (car cl) (unless z (fourth x))) ++ x))))) ++ ++ ++(defun compress-inl (s &aux (i (car (gethash s *inl-hash*)))) ++ (when (> (length i) 1) ++ (let ((l (length i)) ++ (x (reduce (lambda (y x) ++ (list ++ (mapl (lambda (z w) (setf (car z) (type-or1 (car z) (car w)))) ++ (car y) (car x)) ++ (max (cadr y) (third x)))) ++ (cdr i) :initial-value (list (copy-list (caar i)) (third (car i))))) ++ (syms (mapcar (lambda (x) (declare (ignore x)) (gensym)) (make-list (length (caar i)))))) ++ (compile nil `(lambda ,syms ++ (declare (optimize (safety ,(cadr x))) ++ ,@(mapcar (lambda (x y) (list (cmp-unnorm-tp x) y)) (car x) syms)) ++ (,s ,@syms))) ++ (when (< (length (car (gethash s *inl-hash*))) l) ++ (format t "compress-inl ~s: ~s -> ~s~%" s l (length (car (gethash s *inl-hash*)))))))) + +-(defun dump-inl-hash (f) ++(defun dump-inl-hash (f &optional compress &aux (si::*print-package* t)) ++ (when compress (maphash (lambda (x y) (declare (ignore y)) (compress-inl x)) *inl-hash*)) + (with-open-file (s f :direction :output) + (prin1 '(in-package :compiler) s) + (terpri s) + (maphash (lambda (x y) + (prin1 +- `(setf (gethash ',x *inl-hash*) +- (list +- (list +- ,@(mapcar (lambda (z) +- `(list (mapcar 'uniq-tp ',(mapcar 'export-type (pop z))) +- ',(pop z) ',(pop z) ',(pop z) +- (cons ',(caar z) (uniq-tp ',(cdar z))) +- ,(cadr z))) +- (car y))))) +- s) ++ `(merge-inls ++ ',x ++ (list ++ ,@(mapcar (lambda (z) ++ `(list (mapcar 'uniq-tp ',(mapcar 'export-type (pop z))) ++ ',(pop z) ',(pop z) ',(pop z) ++ (cons ',(caar z) (uniq-tp ',(cdar z))) ++ (list ,@(mapcan ++ (lambda (x) ++ `((list ',(pop x) ',(pop x) ',(mapcar 'export-type (car x))))) ++ (cadr z))) ++ ,(caddr z))) ++ (car y)))) ++ s) + (terpri s)) + *inl-hash*)) + nil) +--- gcl27-2.7.1.orig/cmpnew/gcl_cmpinline.lsp ++++ gcl27-2.7.1/cmpnew/gcl_cmpinline.lsp +@@ -355,7 +355,7 @@ + (coerce-loc *value-to-go* type))) + + +-(defun lit-loc (key inl args bind safety oargs stores &aux (tp (get key 'cmp-lisp-type))) ++(defun lit-loc (key inl args bind safety oargs syms stores &aux (tp (get key 'cmp-lisp-type))) + (declare (ignore bind safety oargs stores)) + (let ((sig (list (mapcar (lambda (x) (info-type (cadr x))) args) tp))) + (get-inline-loc (list (car sig) (cadr sig) (flags rfa) inl) args))) +--- gcl27-2.7.1.orig/cmpnew/gcl_cmptag.lsp ++++ gcl27-2.7.1/cmpnew/gcl_cmptag.lsp +@@ -130,7 +130,7 @@ + "Initializing ~s at label ~s:~% type from ~s to ~s,~% store from ~s to ~s" + (car x) (tag-name z) (var-type (car x)) (cadr x) + (var-store (car x)) (if (eq (var-store (car x)) (caddr x)) (caddr x) +opaque+)) +- (do-setq-tp (car x) 'mch-set (cadr x));FIXME too prolix ++ (do-setq-tp (car x) '(mch-set) (cadr x));FIXME too prolix + (push-vbinds (car x) (caddr x))) + l)) + +--- gcl27-2.7.1.orig/cmpnew/gcl_cmptop.lsp ++++ gcl27-2.7.1/cmpnew/gcl_cmptop.lsp +@@ -865,14 +865,14 @@ + (incf i lff)(copy-list ff));FIXME? + ((incf i)(list x)))) + nargs)) +- (form (list 'lit info key inl nargs nil lev oargs (make-vs info)))) ++ (form (list 'lit info key inl nargs nil lev oargs nil (make-vs info)))) + (when (find #\= inl) + (c1side-effects nil) + (setf (info-flags info) (logior (iflags side-effects) (info-flags info)))) + (setf (sixth form) (new-bind form)) + form)) + +-(defun c2lit (key inl args bind safety &rest r &aux (oargs (pop r)) (stores (car r)) (tp (get key 'cmp-lisp-type :opaque))) ++(defun c2lit (key inl args bind safety &rest r &aux (oargs (pop r)) (syms (pop r)) (stores (car r)) (tp (get key 'cmp-lisp-type :opaque))) + (declare (dynamic-extent r)) + (let* ((*inline-blocks* 0) + (*restore-avma* *restore-avma*) +@@ -881,7 +881,7 @@ + (*compiler-new-safety* *compiler-new-safety*) + (*compiler-push-events* *compiler-push-events*)) + (local-compile-decls `((safety ,safety))) +- (unwind-exit (lit-loc key inl args bind safety oargs stores) nil ++ (unwind-exit (lit-loc key inl args bind safety oargs syms stores) nil + (cons 'values (if (equal tp #t(returns-exactly)) 0 1))) + (close-inline-blocks))) + +--- gcl27-2.7.1.orig/cmpnew/gcl_cmptype.lsp ++++ gcl27-2.7.1/cmpnew/gcl_cmptype.lsp +@@ -731,7 +731,7 @@ + (keyed-cmpnote (list (var-name v) 'type-propagation 'type 'bump-cons-tp-if) + "Bumping var ~s cons type ~s -> ~s, tp ~s" + (var-name v) (cmp-unnorm-tp (var-type v)) (cmp-unnorm-tp (tp-or (var-type v) tp)) (cmp-unnorm-tp tp)) +- (do-setq-tp v 'bump-cons-tp-if (tp-or (var-type v) tp)))) ++ (do-setq-tp v '(bump-cons-tp-if) (tp-or (var-type v) tp)))) + (let ((s (var-store v))) + (when (listp s);FIXME + (dolist (b s) +--- gcl27-2.7.1.orig/git.tag ++++ gcl27-2.7.1/git.tag +@@ -1,2 +1,2 @@ +-"Version_2_7_2ore5" ++"Version_2_7_2pre6" + +--- gcl27-2.7.1.orig/info/c-interface.texi ++++ gcl27-2.7.1/info/c-interface.texi +@@ -50,7 +50,7 @@ Unsigned versions available are: + + Complex float and complex double types can be access via: + +- :fcomplex :dcomples ++ :fcomplex :dcomplex + + Pointers to types available are + +--- gcl27-2.7.1.orig/o/assignment.c ++++ gcl27-2.7.1/o/assignment.c +@@ -184,7 +184,7 @@ DEFUN("FSET",object,fSfset,SI,2,2,NONE,O + sym->s.s_gfdef = function; + sym->s.s_mflag = TRUE; + } else { +- sym->s.s_gfdef = function; ++ sym->s.s_gfdef = function; /*FIXME*/ + sym->s.s_mflag = FALSE; + } + +--- gcl27-2.7.1.orig/o/num_arith.c ++++ gcl27-2.7.1/o/num_arith.c +@@ -1001,25 +1001,25 @@ number_divide(object x, object y) + + case t_complex: + COMPLEX: ++ ++ x = number_to_complex(x); ++ y = number_to_complex(y); ++ + { +- object z1, z2, z3; + +- x = number_to_complex(x); +- y = number_to_complex(y); +- z1 = number_times(y->cmp.cmp_real, y->cmp.cmp_real); +- z2 = number_times(y->cmp.cmp_imag, y->cmp.cmp_imag); +- z3 = number_plus(z1, z2); +- /* if (number_zerop(z3 = number_plus(z1, z2))) DIVISION_BY_ZERO(sLD,list(2,x,y)); */ +- z1 = number_times(x->cmp.cmp_real, y->cmp.cmp_real); +- z2 = number_times(x->cmp.cmp_imag, y->cmp.cmp_imag); +- z1 = number_plus(z1, z2); +- z = number_times(x->cmp.cmp_imag, y->cmp.cmp_real); +- z2 = number_times(x->cmp.cmp_real, y->cmp.cmp_imag); +- z2 = number_minus(z, z2); +- z1 = number_divide(z1, z3); +- z2 = number_divide(z2, z3); +- z = make_complex(z1, z2); +- return(z); ++ object yl=y->cmp.cmp_real,ys=y->cmp.cmp_imag,xl=x->cmp.cmp_real,xs=x->cmp.cmp_imag,r,dn,w; ++ int s; ++ ++ if ((s=(number_compare(number_abs(y->cmp.cmp_real),number_abs(y->cmp.cmp_imag))<0))) { ++ w=ys;ys=yl;yl=w;w=xs;xs=xl;xl=w; ++ } ++ ++ r=number_divide(ys,yl); ++ dn=number_plus(yl,number_times(r,ys)); ++ w=number_times(xl,r); ++ ++ return make_complex(number_divide(number_plus(xl,number_times(xs,r)),dn), ++ number_divide(s ? number_minus(w,xs) : number_minus(xs,w),dn)); + } + + default: +--- gcl27-2.7.1.orig/xgcl-2/gcl_editors.lsp ++++ gcl27-2.7.1/xgcl-2/gcl_editors.lsp +@@ -131,7 +131,7 @@ + (draw-line-xy w (offsetx + 12) (offsety + 35) + (offsetx + 12) + (offsety + 48 + hdel * ((val - nmin) / ndel)) 7) +- (editors-update-in-box val w offsetx offsety 40 20)))) ++ (editors-update-in-box val w offsetx offsety 40 20))) + + + ; 20 Nov 91; 03 Dec 91; 15 Oct 93; 02 Dec 93; 08 Jan 04 diff --git a/patches/Version_2_7_2pre7 b/patches/Version_2_7_2pre7 new file mode 100644 index 0000000..1cf50a2 --- /dev/null +++ b/patches/Version_2_7_2pre7 @@ -0,0 +1,156 @@ +Description: + TODO: Put a short summary on the line above and replace this paragraph + with a longer explanation of this change. Complete the meta-information + with other relevant fields (see below for details). To make it easier, the + information below has been extracted from the changelog. Adjust it or drop + it. + . + gcl27 (2.7.1-8) unstable; urgency=medium + . + * Bug fix: "FTBFS: /tmp/gazonk_6005_0.c:21:63: error: implicit + declaration of function '__builtin_c23_va_start'; did you mean + '__builtin_ms_va_start'? [-Wimplicit-function-declaration]", + thanks to Santiago Vila (Closes: #1114119). + * Version_2_7_2pre7 +Author: Camm Maguire +Bug-Debian: https://bugs.debian.org/1114119 + +--- +The information above should follow the Patch Tagging Guidelines, please +checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here +are templates for supplementary fields that you might want to add: + +Origin: (upstream|backport|vendor|other), (|commit:) +Bug: +Bug-Debian: https://bugs.debian.org/ +Bug-Ubuntu: https://launchpad.net/bugs/ +Forwarded: (no|not-needed|) +Applied-Upstream: , (|commit:) +Reviewed-By: +Last-Update: 2025-09-21 + +--- gcl27-2.7.1.orig/configure ++++ gcl27-2.7.1/configure +@@ -7000,6 +7000,61 @@ fi + + + ++add_arg_to_cppflags() { ++ ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CPPFLAG $1" >&5 ++printf %s "checking for CPPFLAG $1... " >&6; } ++ CPPFLAGS_ORI=$CPPFLAGS ++ CPPFLAGS="$CPPFLAGS -Werror $1 `echo $1|sed 's,-Wno-,-W,1'`" ++ if test "$cross_compiling" = yes ++then : ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ++else case e in #( ++ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ ++int ++main (void) ++{ ++ ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_run "$LINENO" ++then : ++ CPPFLAGS="$CPPFLAGS_ORI $1";{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++printf "%s\n" "yes" >&6; };return 0 ++else case e in #( ++ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } ;; ++esac ++fi ++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ ++ conftest.$ac_objext conftest.beam conftest.$ac_ext ;; ++esac ++fi ++ ++ CPPFLAGS=$CPPFLAGS_ORI ++ return 1 ++ ++} ++ ++assert_arg_to_cppflags() { ++ if ! add_arg_to_cppflags $1 ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cannot add $1 to CPPFLAGS" >&5 ++printf "%s\n" "cannot add $1 to CPPFLAGS" >&6; }; exit 1 ; fi ++ return 0 ++} ++ ++add_args_to_cppflags() { ++ ++ while test "$#" -ge 1 ; do ++ add_arg_to_cppflags $1 ++ shift ++ done ++} ++ + add_arg_to_cflags() { + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CFLAG $1" >&5 +@@ -7127,6 +7182,8 @@ printf "%s\n" "removing $1 from LDFLAGS" + + } + ++add_args_to_cppflags -std=gnu17 ++ + add_args_to_cflags -fsigned-char -pipe -fcommon \ + -fno-builtin-malloc -fno-builtin-free \ + -fno-PIE -fno-pie -fno-PIC -fno-pic \ +--- gcl27-2.7.1.orig/configure.ac ++++ gcl27-2.7.1/configure.ac +@@ -170,6 +170,34 @@ fi + AC_SUBST(GCL_CC) + AC_SUBST(CPP) + ++add_arg_to_cppflags() { ++ ++ AC_MSG_CHECKING([for CPPFLAG $1]) ++ CPPFLAGS_ORI=$CPPFLAGS ++ CPPFLAGS="$CPPFLAGS -Werror $1 `echo $1|sed 's,-Wno-,-W,1'`" ++ AC_RUN_IFELSE( ++ [AC_LANG_PROGRAM([[]],[[]])], ++ [CPPFLAGS="$CPPFLAGS_ORI $1";AC_MSG_RESULT([yes]);return 0], ++ [AC_MSG_RESULT([no])], ++ [AC_MSG_RESULT([no])]) ++ CPPFLAGS=$CPPFLAGS_ORI ++ return 1 ++ ++} ++ ++assert_arg_to_cppflags() { ++ if ! add_arg_to_cppflags $1 ; then AC_MSG_RESULT([cannot add $1 to CPPFLAGS]); exit 1 ; fi ++ return 0 ++} ++ ++add_args_to_cppflags() { ++ ++ while test "$#" -ge 1 ; do ++ add_arg_to_cppflags $1 ++ shift ++ done ++} ++ + add_arg_to_cflags() { + + AC_MSG_CHECKING([for CFLAG $1]) +@@ -242,6 +270,8 @@ remove_arg_from_ldflags() { + + } + ++add_args_to_cppflags -std=gnu17 ++ + add_args_to_cflags -fsigned-char -pipe -fcommon \ + -fno-builtin-malloc -fno-builtin-free \ + -fno-PIE -fno-pie -fno-PIC -fno-pic \ +--- gcl27-2.7.1.orig/git.tag ++++ gcl27-2.7.1/git.tag +@@ -1,2 +1,2 @@ +-"Version_2_7_2pre6" ++"Version_2_7_2pre7" + diff --git a/patches/Version_2_7_2pre8 b/patches/Version_2_7_2pre8 new file mode 100644 index 0000000..b7d356d --- /dev/null +++ b/patches/Version_2_7_2pre8 @@ -0,0 +1,17403 @@ +Description: + TODO: Put a short summary on the line above and replace this paragraph + with a longer explanation of this change. Complete the meta-information + with other relevant fields (see below for details). To make it easier, the + information below has been extracted from the changelog. Adjust it or drop + it. + . + gcl27 (2.7.1-9) unstable; urgency=medium + . + * Version_2_7_2pre8 +Author: Camm Maguire + +--- +The information above should follow the Patch Tagging Guidelines, please +checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here +are templates for supplementary fields that you might want to add: + +Origin: (upstream|backport|vendor|other), (|commit:) +Bug: +Bug-Debian: https://bugs.debian.org/ +Bug-Ubuntu: https://launchpad.net/bugs/ +Forwarded: (no|not-needed|) +Applied-Upstream: , (|commit:) +Reviewed-By: +Last-Update: 2026-02-19 + +--- gcl27-2.7.1.orig/INSTALL ++++ gcl27-2.7.1/INSTALL +@@ -13,7 +13,10 @@ Basic Installation + + should configure, build, and install this package. The first line, + which bootstraps, is intended for developers; when building from +-distribution tarballs it does nothing and can be skipped. ++distribution tarballs it does nothing and can be skipped. A package ++might name the bootstrapping script differently; if the name is ++‘autogen.sh’, for example, the first line should say ‘./autogen.sh’ ++instead of ‘./bootstrap’. + + The following more-detailed instructions are generic; see the + ‘README’ file for instructions specific to this package. Some packages +@@ -25,23 +28,22 @@ found in the GNU Coding Standards. + Many packages have scripts meant for developers instead of ordinary + builders, as they may use developer tools that are less commonly + installed, or they may access the network, which has privacy +-implications. If the ‘bootstrap’ shell script exists, it attempts to +-build the ‘configure’ shell script and related files, possibly using +-developer tools or the network. Because the output of ‘bootstrap’ is +-system-independent, it is normally run by a package developer so that +-its output can be put into the distribution tarball and ordinary +-builders and users need not run ‘bootstrap’. Some packages have +-commands like ‘./autopull.sh’ and ‘./autogen.sh’ that you can run +-instead of ‘./bootstrap’, for more fine-grained control over +-bootstrapping. +- +- The ‘configure’ shell script attempts to guess correct values for +-various system-dependent variables used during compilation. It uses +-those values to create a ‘Makefile’ in each directory of the package. +-It may also create one or more ‘.h’ files containing system-dependent +-definitions. Finally, it creates a shell script ‘config.status’ that +-you can run in the future to recreate the current configuration, and a +-file ‘config.log’ containing output useful for debugging ‘configure’. ++implications. These scripts attempt to bootstrap by building the ++‘configure’ script and related files, possibly using developer tools or ++the network. Because the output of bootstrapping is system-independent, ++it is normally run by a package developer so that its output can be put ++into the distribution tarball and ordinary builders and users need not ++bootstrap. Some packages have commands like ‘./autopull.sh’ and ++‘./autogen.sh’ that you can run instead of ‘./bootstrap’, for more ++fine-grained control over bootstrapping. ++ ++ The ‘configure’ script attempts to guess correct values for various ++system-dependent variables used during compilation. It uses those ++values to create a ‘Makefile’ in each directory of the package. It may ++also create one or more ‘.h’ files containing system-dependent ++definitions. Finally, it creates a script ‘config.status’ that you can ++run in the future to recreate the current configuration, and a file ++‘config.log’ containing output useful for debugging ‘configure’. + + It can also use an optional file (typically called ‘config.cache’ and + enabled with ‘--cache-file=config.cache’ or simply ‘-C’) that saves the +@@ -64,9 +66,10 @@ editing ‘configure’ directly. + 1. ‘cd’ to the directory containing the package’s source code. + + 2. If this is a developer checkout and file ‘configure’ does not yet +- exist, type ‘./bootstrap’ to create it. You may need special +- developer tools and network access to bootstrap, and the network +- access may have privacy implications. ++ exist, run the bootstrapping script (typically ‘./bootstrap’ or ++ ‘./autogen.sh’) to bootstrap and create the file. You may need ++ special developer tools and network access to bootstrap, and the ++ network access may have privacy implications. + + 3. Type ‘./configure’ to configure the package for your system. This + might take a while. While running, ‘configure’ prints messages +@@ -101,6 +104,18 @@ editing ‘configure’ directly. + 9. If the package follows the GNU Coding Standards, you can type ‘make + uninstall’ to remove the installed files. + ++Installation Prerequisites ++========================== ++ ++ Installation requires a POSIX-like environment with a shell and at ++least the following standard utilities: ++ ++ awk cat cp diff echo expr false ls mkdir mv printf pwd rm rmdir sed ++ sort test tr ++ ++This package’s installation may need other standard utilities such as ++‘grep’, ‘make’, ‘sleep’ and ‘touch’, along with compilers like ‘gcc’. ++ + Compilers and Options + ===================== + +@@ -356,7 +371,7 @@ more details. + Copyright notice + ================ + +- Copyright © 1994–1996, 1999–2002, 2004–2017, 2020–2024 Free Software ++ Copyright © 1994–1996, 1999–2002, 2004–2017, 2020–2025 Free Software + Foundation, Inc. + + Copying and distribution of this file, with or without modification, +--- gcl27-2.7.1.orig/Makefile.am ++++ gcl27-2.7.1/Makefile.am +@@ -129,7 +129,7 @@ BASE_H= h/compbas2.h h/compbas.h h/compp + h/funlink.h h/globals.h h/gmp_wrappers.h h/immnum.h h/include.h h/lex.h h/linux.h h/lu.h h/make-init.h \ + h/mp.h h/notcomp.h h/num_include.h h/object.h h/options.h h/page.h h/pageinfo.h h/pbits.h h/pool.h \ + h/prelink.h h/protoize.h h/ptable.h h/rgbc.h h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h \ +- h/writable.h o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h h/compat.h h/apply_n.h \ ++ h/writable.h o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h h/compat.h \ + gcl-tk/sheader.h h/make-decl.h h/defun.h o/ntheap.h + CMPI_H= h/compdefs.h h/cmpincl1.h h/mgmp.h h/compprotos.h h/compbas2.h h/cmponly_last.h + ARCHT_H=h/elf32_armhf_reloc.h h/elf32_armhf_reloc_special.h h/elf32_arm_reloc.h h/elf32_arm_reloc_special.h \ +@@ -161,7 +161,7 @@ C_SRC=o/typespec.c o/alloc.c o/gbc.c o/b + D_SRC=o/character.d o/file.d o/gcl_readline.d o/hash.d o/list.d o/package.d o/pathname.d o/print.d\ + o/read.d o/sequence.d o/string.d o/symbol.d + BUILT_C=o/character.c o/file.c o/gcl_readline.c o/hash.c o/list.c o/package.c o/pathname.c o/print.c\ +- o/read.c o/sequence.c o/string.c o/symbol.c o/new_init.c ++ o/read.c o/sequence.c o/string.c o/symbol.c o/new_init.c o/qfv.c + + INI_FILES=$(patsubst %.c,%.ini,$(C_SRC)) $(patsubst %.d,%.ini,$(D_SRC)) + if AMM_GPROF +@@ -352,6 +352,7 @@ unixport/ansi_gcl: clcs/package.lisp clc + $(addprefix gcl0/,$(LL_OBJS)): gcl0/%.o : lsp/%.lsp + $(addprefix gcl0/,$(LC_OBJS)): gcl0/%.o : cmpnew/%.lsp + gcl0/%.o: | unixport/gcl0 ++ rm -f $(@D)/$*.done + $| -eval "(mapc 'load (directory \"$(@D)/*.done\"))" -compile $< -o $@ + [ "$*" = "gcl_c" ] || [ "$*" = "gcl_listlib" ] || \ + ln -f $@ $$(echo $@ |sed 's,\.o,\.done,g') #FIXME directory link +@@ -359,6 +360,7 @@ gcl0/%.o: | unixport/gcl0 + $(addprefix gcl1/,$(LL_OBJS)): gcl1/%.o : lsp/%.lsp + $(addprefix gcl1/,$(LC_OBJS)): gcl1/%.o : cmpnew/%.lsp + gcl1/%.o: | unixport/gcl1 ++ rm -f $(@D)/$*.done + $| -eval "(mapc 'load (directory \"$(@D)/*.done\"))" \ + -eval "(setq compiler::*dump-inl-hash* t)" \ + -compile $< -o $@ +@@ -456,6 +458,9 @@ h/cmpincludea.h: $(filter-out gclincl.h, + $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - | \ + $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@ + ++o/qfv.c: o/pre_qfv.c h/new_decl.h bin/c23.awk ++ $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | bin/c23.awk >$@ ++ + h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h + @cat $^ >new_$(@F) + @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@ +--- gcl27-2.7.1.orig/Makefile.in ++++ gcl27-2.7.1/Makefile.in +@@ -1,7 +1,7 @@ +-# Makefile.in generated by automake 1.17 from Makefile.am. ++# Makefile.in generated by automake 1.18.1 from Makefile.am. + # @configure_input@ + +-# Copyright (C) 1994-2024 Free Software Foundation, Inc. ++# Copyright (C) 1994-2025 Free Software Foundation, Inc. + + # This Makefile.in is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -197,13 +197,12 @@ am__lib_libbase_gcl_a_SOURCES_DIST = o/t + h/pool.h h/prelink.h h/protoize.h h/ptable.h h/rgbc.h \ + h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h h/writable.h \ + o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h \ +- h/compat.h h/apply_n.h gcl-tk/sheader.h h/make-decl.h \ +- h/defun.h o/ntheap.h h/compdefs.h h/cmpincl1.h h/mgmp.h \ +- h/cmponly_last.h h/elf32_armhf_reloc.h \ +- h/elf32_armhf_reloc_special.h h/elf32_arm_reloc.h \ +- h/elf32_arm_reloc_special.h h/elf32_hppa_reloc.h \ +- h/elf32_hppa_reloc_special.h h/elf32_i386_reloc.h \ +- h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \ ++ h/compat.h gcl-tk/sheader.h h/make-decl.h h/defun.h o/ntheap.h \ ++ h/compdefs.h h/cmpincl1.h h/mgmp.h h/cmponly_last.h \ ++ h/elf32_armhf_reloc.h h/elf32_armhf_reloc_special.h \ ++ h/elf32_arm_reloc.h h/elf32_arm_reloc_special.h \ ++ h/elf32_hppa_reloc.h h/elf32_hppa_reloc_special.h \ ++ h/elf32_i386_reloc.h h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \ + h/elf32_mips_reloc_special.h h/elf32_ppc_reloc.h \ + h/elf32_s390_reloc.h h/elf32_sh4_reloc.h h/elf32_sparc_reloc.h \ + h/elf64_aarch64_reloc.h h/elf64_aarch64_reloc_special.h \ +@@ -258,7 +257,7 @@ am__objects_4 = o/character.$(OBJEXT) o/ + o/gcl_readline.$(OBJEXT) o/hash.$(OBJEXT) o/list.$(OBJEXT) \ + o/package.$(OBJEXT) o/pathname.$(OBJEXT) o/print.$(OBJEXT) \ + o/read.$(OBJEXT) o/sequence.$(OBJEXT) o/string.$(OBJEXT) \ +- o/symbol.$(OBJEXT) o/new_init.$(OBJEXT) ++ o/symbol.$(OBJEXT) o/new_init.$(OBJEXT) o/qfv.$(OBJEXT) + nodist_lib_libbase_gcl_a_OBJECTS = $(am__objects_4) + lib_libbase_gcl_a_OBJECTS = $(am_lib_libbase_gcl_a_OBJECTS) \ + $(nodist_lib_libbase_gcl_a_OBJECTS) +@@ -287,13 +286,12 @@ am__lib_libbase_gcl_gprof_a_SOURCES_DIST + h/pool.h h/prelink.h h/protoize.h h/ptable.h h/rgbc.h \ + h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h h/writable.h \ + o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h \ +- h/compat.h h/apply_n.h gcl-tk/sheader.h h/make-decl.h \ +- h/defun.h o/ntheap.h h/compdefs.h h/cmpincl1.h h/mgmp.h \ +- h/cmponly_last.h h/elf32_armhf_reloc.h \ +- h/elf32_armhf_reloc_special.h h/elf32_arm_reloc.h \ +- h/elf32_arm_reloc_special.h h/elf32_hppa_reloc.h \ +- h/elf32_hppa_reloc_special.h h/elf32_i386_reloc.h \ +- h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \ ++ h/compat.h gcl-tk/sheader.h h/make-decl.h h/defun.h o/ntheap.h \ ++ h/compdefs.h h/cmpincl1.h h/mgmp.h h/cmponly_last.h \ ++ h/elf32_armhf_reloc.h h/elf32_armhf_reloc_special.h \ ++ h/elf32_arm_reloc.h h/elf32_arm_reloc_special.h \ ++ h/elf32_hppa_reloc.h h/elf32_hppa_reloc_special.h \ ++ h/elf32_i386_reloc.h h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \ + h/elf32_mips_reloc_special.h h/elf32_ppc_reloc.h \ + h/elf32_s390_reloc.h h/elf32_sh4_reloc.h h/elf32_sparc_reloc.h \ + h/elf64_aarch64_reloc.h h/elf64_aarch64_reloc_special.h \ +@@ -399,7 +397,8 @@ am__objects_8 = o/lib_libbase_gcl_gprof_ + o/lib_libbase_gcl_gprof_a-sequence.$(OBJEXT) \ + o/lib_libbase_gcl_gprof_a-string.$(OBJEXT) \ + o/lib_libbase_gcl_gprof_a-symbol.$(OBJEXT) \ +- o/lib_libbase_gcl_gprof_a-new_init.$(OBJEXT) ++ o/lib_libbase_gcl_gprof_a-new_init.$(OBJEXT) \ ++ o/lib_libbase_gcl_gprof_a-qfv.$(OBJEXT) + am__objects_9 = $(am__objects_8) + nodist_lib_libbase_gcl_gprof_a_OBJECTS = $(am__objects_9) + lib_libbase_gcl_gprof_a_OBJECTS = \ +@@ -572,6 +571,7 @@ am__depfiles_remade = bin/$(DEPDIR)/dpp. + o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prelink.Po \ + o/$(DEPDIR)/lib_libbase_gcl_gprof_a-print.Po \ + o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prog.Po \ ++ o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Po \ + o/$(DEPDIR)/lib_libbase_gcl_gprof_a-read.Po \ + o/$(DEPDIR)/lib_libbase_gcl_gprof_a-reference.Po \ + o/$(DEPDIR)/lib_libbase_gcl_gprof_a-regexpr.Po \ +@@ -606,7 +606,7 @@ am__depfiles_remade = bin/$(DEPDIR)/dpp. + o/$(DEPDIR)/number.Po o/$(DEPDIR)/package.Po \ + o/$(DEPDIR)/pathname.Po o/$(DEPDIR)/predicate.Po \ + o/$(DEPDIR)/prelink.Po o/$(DEPDIR)/print.Po \ +- o/$(DEPDIR)/prog.Po o/$(DEPDIR)/read.Po \ ++ o/$(DEPDIR)/prog.Po o/$(DEPDIR)/qfv.Po o/$(DEPDIR)/read.Po \ + o/$(DEPDIR)/reference.Po o/$(DEPDIR)/regexpr.Po \ + o/$(DEPDIR)/run_process.Po o/$(DEPDIR)/sequence.Po \ + o/$(DEPDIR)/sfasl.Po o/$(DEPDIR)/sockets.Po \ +@@ -1037,7 +1037,7 @@ BASE_H = h/compbas2.h h/compbas.h h/comp + h/funlink.h h/globals.h h/gmp_wrappers.h h/immnum.h h/include.h h/lex.h h/linux.h h/lu.h h/make-init.h \ + h/mp.h h/notcomp.h h/num_include.h h/object.h h/options.h h/page.h h/pageinfo.h h/pbits.h h/pool.h \ + h/prelink.h h/protoize.h h/ptable.h h/rgbc.h h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h \ +- h/writable.h o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h h/compat.h h/apply_n.h \ ++ h/writable.h o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h h/compat.h \ + gcl-tk/sheader.h h/make-decl.h h/defun.h o/ntheap.h + + CMPI_H = h/compdefs.h h/cmpincl1.h h/mgmp.h h/compprotos.h h/compbas2.h h/cmponly_last.h +@@ -1071,7 +1071,7 @@ D_SRC = o/character.d o/file.d o/gcl_rea + o/read.d o/sequence.d o/string.d o/symbol.d + + BUILT_C = o/character.c o/file.c o/gcl_readline.c o/hash.c o/list.c o/package.c o/pathname.c o/print.c\ +- o/read.c o/sequence.c o/string.c o/symbol.c o/new_init.c ++ o/read.c o/sequence.c o/string.c o/symbol.c o/new_init.c o/qfv.c + + INI_FILES = $(patsubst %.c,%.ini,$(C_SRC)) $(patsubst \ + %.d,%.ini,$(D_SRC)) $(am__append_10) +@@ -1418,6 +1418,7 @@ o/sequence.$(OBJEXT): o/$(am__dirstamp) + o/string.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp) + o/symbol.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp) + o/new_init.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp) ++o/qfv.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp) + lib/$(am__dirstamp): + @$(MKDIR_P) lib + @: >>lib/$(am__dirstamp) +@@ -1588,6 +1589,8 @@ o/lib_libbase_gcl_gprof_a-symbol.$(OBJEX + o/$(DEPDIR)/$(am__dirstamp) + o/lib_libbase_gcl_gprof_a-new_init.$(OBJEXT): o/$(am__dirstamp) \ + o/$(DEPDIR)/$(am__dirstamp) ++o/lib_libbase_gcl_gprof_a-qfv.$(OBJEXT): o/$(am__dirstamp) \ ++ o/$(DEPDIR)/$(am__dirstamp) + + lib/libbase_gcl_gprof.a: $(lib_libbase_gcl_gprof_a_OBJECTS) $(lib_libbase_gcl_gprof_a_DEPENDENCIES) $(EXTRA_lib_libbase_gcl_gprof_a_DEPENDENCIES) lib/$(am__dirstamp) + $(AM_V_at)-rm -f lib/libbase_gcl_gprof.a +@@ -1850,6 +1853,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prelink.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-print.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prog.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-read.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-reference.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-regexpr.Po@am__quote@ # am--include-marker +@@ -1897,6 +1901,7 @@ distclean-compile: + @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/prelink.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/print.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/prog.Po@am__quote@ # am--include-marker ++@AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/qfv.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/read.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/reference.Po@am__quote@ # am--include-marker + @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/regexpr.Po@am__quote@ # am--include-marker +@@ -3086,6 +3091,20 @@ o/lib_libbase_gcl_gprof_a-new_init.obj: + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-new_init.obj `if test -f 'o/new_init.c'; then $(CYGPATH_W) 'o/new_init.c'; else $(CYGPATH_W) '$(srcdir)/o/new_init.c'; fi` + ++o/lib_libbase_gcl_gprof_a-qfv.o: o/qfv.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libbase_gcl_gprof_a-qfv.o -MD -MP -MF o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Tpo -c -o o/lib_libbase_gcl_gprof_a-qfv.o `test -f 'o/qfv.c' || echo '$(srcdir)/'`o/qfv.c ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Tpo o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o/qfv.c' object='o/lib_libbase_gcl_gprof_a-qfv.o' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-qfv.o `test -f 'o/qfv.c' || echo '$(srcdir)/'`o/qfv.c ++ ++o/lib_libbase_gcl_gprof_a-qfv.obj: o/qfv.c ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libbase_gcl_gprof_a-qfv.obj -MD -MP -MF o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Tpo -c -o o/lib_libbase_gcl_gprof_a-qfv.obj `if test -f 'o/qfv.c'; then $(CYGPATH_W) 'o/qfv.c'; else $(CYGPATH_W) '$(srcdir)/o/qfv.c'; fi` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Tpo o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Po ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o/qfv.c' object='o/lib_libbase_gcl_gprof_a-qfv.obj' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-qfv.obj `if test -f 'o/qfv.c'; then $(CYGPATH_W) 'o/qfv.c'; else $(CYGPATH_W) '$(srcdir)/o/qfv.c'; fi` ++ + o/lib_libgprof_a-gprof.o: o/gprof.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libgprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libgprof_a-gprof.o -MD -MP -MF o/$(DEPDIR)/lib_libgprof_a-gprof.Tpo -c -o o/lib_libgprof_a-gprof.o `test -f 'o/gprof.c' || echo '$(srcdir)/'`o/gprof.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libgprof_a-gprof.Tpo o/$(DEPDIR)/lib_libgprof_a-gprof.Po +@@ -3849,6 +3868,7 @@ cscopelist-am: $(am__tagged_files) + distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + -rm -f cscope.out cscope.in.out cscope.po.out cscope.files ++ + distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +@@ -3902,6 +3922,10 @@ dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__post_remove_distdir) + ++dist-bzip3: distdir ++ tardir=$(distdir) && $(am__tar) | bzip3 -c >$(distdir).tar.bz3 ++ $(am__post_remove_distdir) ++ + dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz + $(am__post_remove_distdir) +@@ -3946,6 +3970,8 @@ distcheck: dist + eval GZIP= gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ ++ *.tar.bz3*) \ ++ bzip3 -dc $(distdir).tar.bz3 | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ + *.tar.xz*) \ +@@ -4186,6 +4212,7 @@ distclean: distclean-am + -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prelink.Po + -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-print.Po + -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prog.Po ++ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Po + -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-read.Po + -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-reference.Po + -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-regexpr.Po +@@ -4233,6 +4260,7 @@ distclean: distclean-am + -rm -f o/$(DEPDIR)/prelink.Po + -rm -f o/$(DEPDIR)/print.Po + -rm -f o/$(DEPDIR)/prog.Po ++ -rm -f o/$(DEPDIR)/qfv.Po + -rm -f o/$(DEPDIR)/read.Po + -rm -f o/$(DEPDIR)/reference.Po + -rm -f o/$(DEPDIR)/regexpr.Po +@@ -4508,6 +4536,7 @@ maintainer-clean: maintainer-clean-am + -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prelink.Po + -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-print.Po + -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prog.Po ++ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Po + -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-read.Po + -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-reference.Po + -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-regexpr.Po +@@ -4555,6 +4584,7 @@ maintainer-clean: maintainer-clean-am + -rm -f o/$(DEPDIR)/prelink.Po + -rm -f o/$(DEPDIR)/print.Po + -rm -f o/$(DEPDIR)/prog.Po ++ -rm -f o/$(DEPDIR)/qfv.Po + -rm -f o/$(DEPDIR)/read.Po + -rm -f o/$(DEPDIR)/reference.Po + -rm -f o/$(DEPDIR)/regexpr.Po +@@ -4625,9 +4655,9 @@ uninstall-man: uninstall-man1 + clean-local clean-my_gcltkPROGRAMS clean-my_unixportLIBRARIES \ + clean-my_unixportPROGRAMS clean-noinstLIBRARIES \ + clean-noinstPROGRAMS cscope cscopelist-am ctags ctags-am dist \ +- dist-all dist-bzip2 dist-gzip dist-info dist-lzip dist-shar \ +- dist-tarZ dist-xz dist-zip dist-zstd distcheck distclean \ +- distclean-compile distclean-generic distclean-hdr \ ++ dist-all dist-bzip2 dist-bzip3 dist-gzip dist-info dist-lzip \ ++ dist-shar dist-tarZ dist-xz dist-zip dist-zstd distcheck \ ++ distclean distclean-compile distclean-generic distclean-hdr \ + distclean-local distclean-tags distcleancheck distdir \ + distuninstallcheck dvi dvi-am html html-am info info-am \ + install install-am install-binSCRIPTS install-data \ +@@ -4778,6 +4808,7 @@ unixport/ansi_gcl: clcs/package.lisp clc + $(addprefix gcl0/,$(LL_OBJS)): gcl0/%.o : lsp/%.lsp + $(addprefix gcl0/,$(LC_OBJS)): gcl0/%.o : cmpnew/%.lsp + gcl0/%.o: | unixport/gcl0 ++ rm -f $(@D)/$*.done + $| -eval "(mapc 'load (directory \"$(@D)/*.done\"))" -compile $< -o $@ + [ "$*" = "gcl_c" ] || [ "$*" = "gcl_listlib" ] || \ + ln -f $@ $$(echo $@ |sed 's,\.o,\.done,g') #FIXME directory link +@@ -4785,6 +4816,7 @@ gcl0/%.o: | unixport/gcl0 + $(addprefix gcl1/,$(LL_OBJS)): gcl1/%.o : lsp/%.lsp + $(addprefix gcl1/,$(LC_OBJS)): gcl1/%.o : cmpnew/%.lsp + gcl1/%.o: | unixport/gcl1 ++ rm -f $(@D)/$*.done + $| -eval "(mapc 'load (directory \"$(@D)/*.done\"))" \ + -eval "(setq compiler::*dump-inl-hash* t)" \ + -compile $< -o $@ +@@ -4874,6 +4906,9 @@ h/cmpincludea.h: $(filter-out gclincl.h, + $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - | \ + $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@ + ++o/qfv.c: o/pre_qfv.c h/new_decl.h bin/c23.awk ++ $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | bin/c23.awk >$@ ++ + h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h + @cat $^ >new_$(@F) + @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@ +--- gcl27-2.7.1.orig/aclocal.m4 ++++ gcl27-2.7.1/aclocal.m4 +@@ -1,6 +1,6 @@ +-# generated automatically by aclocal 1.17 -*- Autoconf -*- ++# generated automatically by aclocal 1.18.1 -*- Autoconf -*- + +-# Copyright (C) 1996-2024 Free Software Foundation, Inc. ++# Copyright (C) 1996-2025 Free Software Foundation, Inc. + + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -20,7 +20,7 @@ You have another version of autoconf. I + If you have problems, you may need to regenerate the build system entirely. + To do so, use the procedure documented by the package, typically 'autoreconf'.])]) + +-# Copyright (C) 2002-2024 Free Software Foundation, Inc. ++# Copyright (C) 2002-2025 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -32,10 +32,10 @@ To do so, use the procedure documented b + # generated from the m4 files accompanying Automake X.Y. + # (This private macro should not be called outside this file.) + AC_DEFUN([AM_AUTOMAKE_VERSION], +-[am__api_version='1.17' ++[am__api_version='1.18' + dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to + dnl require some minimum version. Point them to the right macro. +-m4_if([$1], [1.17], [], ++m4_if([$1], [1.18.1], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl + ]) + +@@ -51,14 +51,14 @@ m4_define([_AM_AUTOCONF_VERSION], []) + # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. + # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. + AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +-[AM_AUTOMAKE_VERSION([1.17])dnl ++[AM_AUTOMAKE_VERSION([1.18.1])dnl + m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl + _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) + + # AM_AUX_DIR_EXPAND -*- Autoconf -*- + +-# Copyright (C) 2001-2024 Free Software Foundation, Inc. ++# Copyright (C) 2001-2025 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -110,7 +110,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd` + + # AM_CONDITIONAL -*- Autoconf -*- + +-# Copyright (C) 1997-2024 Free Software Foundation, Inc. ++# Copyright (C) 1997-2025 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -141,7 +141,7 @@ AC_CONFIG_COMMANDS_PRE( + Usually this means the macro was only invoked conditionally.]]) + fi])]) + +-# Copyright (C) 1999-2024 Free Software Foundation, Inc. ++# Copyright (C) 1999-2025 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -332,7 +332,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl + + # Generate code to set up dependency tracking. -*- Autoconf -*- + +-# Copyright (C) 1999-2024 Free Software Foundation, Inc. ++# Copyright (C) 1999-2025 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -400,7 +400,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS] + + # Do all the work for Automake. -*- Autoconf -*- + +-# Copyright (C) 1996-2024 Free Software Foundation, Inc. ++# Copyright (C) 1996-2025 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -500,8 +500,9 @@ AC_REQUIRE([AC_PROG_AWK])dnl + AC_REQUIRE([AC_PROG_MAKE_SET])dnl + AC_REQUIRE([AM_SET_LEADING_DOT])dnl + _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], +- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], +- [_AM_PROG_TAR([v7])])]) ++ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], ++ [_AM_IF_OPTION([tar-v7], [_AM_PROG_TAR([v7])], ++ [_AM_PROG_TAR([ustar])])])]) + _AM_IF_OPTION([no-dependencies],, + [AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES([CC])], +@@ -577,7 +578,7 @@ for _am_header in $config_headers :; do + done + echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) + +-# Copyright (C) 2001-2024 Free Software Foundation, Inc. ++# Copyright (C) 2001-2025 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -598,7 +599,7 @@ if test x"${install_sh+set}" != xset; th + fi + AC_SUBST([install_sh])]) + +-# Copyright (C) 2003-2024 Free Software Foundation, Inc. ++# Copyright (C) 2003-2025 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -617,7 +618,7 @@ fi + rmdir .tst 2>/dev/null + AC_SUBST([am__leading_dot])]) + +-# Copyright (C) 1996-2024 Free Software Foundation, Inc. ++# Copyright (C) 1996-2025 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -666,7 +667,7 @@ AC_SUBST([lispdir]) + + # Check to see how 'make' treats includes. -*- Autoconf -*- + +-# Copyright (C) 2001-2024 Free Software Foundation, Inc. ++# Copyright (C) 2001-2025 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -709,7 +710,7 @@ AC_SUBST([am__quote])]) + + # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +-# Copyright (C) 1997-2024 Free Software Foundation, Inc. ++# Copyright (C) 1997-2025 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -743,7 +744,7 @@ fi + + # Helper functions for option handling. -*- Autoconf -*- + +-# Copyright (C) 2001-2024 Free Software Foundation, Inc. ++# Copyright (C) 2001-2025 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -772,7 +773,7 @@ AC_DEFUN([_AM_SET_OPTIONS], + AC_DEFUN([_AM_IF_OPTION], + [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +-# Copyright (C) 1999-2024 Free Software Foundation, Inc. ++# Copyright (C) 1999-2025 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -804,7 +805,10 @@ AC_CACHE_CHECK( + break + fi + done +- rm -f core conftest* ++ # aligned with autoconf, so not including core; see bug#72225. ++ rm -f -r a.out a.exe b.out conftest.$ac_ext conftest.$ac_objext \ ++ conftest.dSYM conftest1.$ac_ext conftest1.$ac_objext conftest1.dSYM \ ++ conftest2.$ac_ext conftest2.$ac_objext conftest2.dSYM + unset am_i]) + if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. +@@ -819,7 +823,7 @@ AC_LANG_POP([C])]) + # For backward compatibility. + AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) + +-# Copyright (C) 2022-2024 Free Software Foundation, Inc. ++# Copyright (C) 2022-2025 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -835,7 +839,7 @@ AS_IF([(rm -f && rm -fr && rm -rf) 2>/de + AC_SUBST(am__rm_f_notfound) + ]) + +-# Copyright (C) 2001-2024 Free Software Foundation, Inc. ++# Copyright (C) 2001-2025 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -854,7 +858,7 @@ AC_DEFUN([AM_RUN_LOG], + + # Check to make sure that the build environment is sane. -*- Autoconf -*- + +-# Copyright (C) 1996-2024 Free Software Foundation, Inc. ++# Copyright (C) 1996-2025 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -1023,10 +1027,12 @@ am_lf=' + ' + case `pwd` in + *[[\\\"\#\$\&\'\`$am_lf]]*) ++ AC_MSG_RESULT([no]) + AC_MSG_ERROR([unsafe absolute working directory name]);; + esac + case $srcdir in + *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) ++ AC_MSG_RESULT([no]) + AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; + esac + +@@ -1079,7 +1085,7 @@ AC_CONFIG_COMMANDS_PRE( + rm -f conftest.file + ]) + +-# Copyright (C) 2009-2024 Free Software Foundation, Inc. ++# Copyright (C) 2009-2025 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -1148,9 +1154,13 @@ fi + # empty being verbose). + AC_DEFUN([AM_SILENT_RULES], + [AC_REQUIRE([_AM_SILENT_RULES]) +-AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])]) ++AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])m4_newline ++dnl We intentionally force a newline after the assignment, since a) nothing ++dnl good can come of more text following, and b) that was the behavior ++dnl before 1.17. See https://bugs.gnu.org/72267. ++]) + +-# Copyright (C) 2001-2024 Free Software Foundation, Inc. ++# Copyright (C) 2001-2025 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -1178,7 +1188,7 @@ fi + INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +-# Copyright (C) 2006-2024 Free Software Foundation, Inc. ++# Copyright (C) 2006-2025 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -1197,7 +1207,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_ + + # Check how to create a tarball. -*- Autoconf -*- + +-# Copyright (C) 2004-2024 Free Software Foundation, Inc. ++# Copyright (C) 2004-2025 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +@@ -1332,7 +1342,7 @@ AC_SUBST([am__tar]) + AC_SUBST([am__untar]) + ]) # _AM_PROG_TAR + +-# Copyright (C) 2022-2024 Free Software Foundation, Inc. ++# Copyright (C) 2022-2025 Free Software Foundation, Inc. + # + # This file is free software; the Free Software Foundation + # gives unlimited permission to copy and/or distribute it, +--- gcl27-2.7.1.orig/ansi-tests/stable-sort.lsp ++++ gcl27-2.7.1/ansi-tests/stable-sort.lsp +@@ -174,6 +174,9 @@ + i x y z)) + (7 3 2 1) 3 1 2 3) + ++(deftest stable-sort.order.3 ++ (stable-sort "A1A2A3A4A5A6a1a2a3a4a5a6" 'char-lessp) ++ "112233445566AAAAAAaaaaaa") + + ;;; Error cases + +--- /dev/null ++++ gcl27-2.7.1/bin/c23.awk +@@ -0,0 +1,38 @@ ++#!/usr/bin/awk -f ++ ++/^ *ufixnum *maxargs_for_awk *=/ {gsub("="," ");gsub(";"," ");maxargs=$NF+0;next} ++ ++/^ *awk_generated_vc_apply_n_lines;$/ { ++ ++ if (!maxargs) {printf("error: maxargs unset\n");exit(-1);} ++ ++ for (n=1;n<=maxargs;n++) { ++ for (m=n;m;m--) { ++ printf("\n\tcase %d*%d+%d: return ((object(*)(",n,maxargs+1,m); ++ for (i=0;i + #include + #include ++#include + + #include "gclincl.h" + #include "config.h" +@@ -81,8 +82,6 @@ + #define TRUE 1 + #define FALSE 0 + +-typedef int bool; +- + FILE *in, *out; + + char filename[BUFSIZ]; +@@ -128,9 +127,8 @@ char *result[MAXRES]; + int nres; + + void +-error(s) +-char *s; +-{ ++error(char *s) { ++ + printf("Error in line %d: %s.\n", line, s); + exit(0); + } +@@ -165,9 +163,8 @@ nextc() + } + + void +-unreadc(c) +-int c; +-{ ++unreadc(int c) { ++ + if (c == '\n') + --line; + else if (c == '\t') +@@ -176,9 +173,8 @@ int c; + } + + void +-put_tabs(n) +-int n; +-{ ++put_tabs(int n) { ++ + int i; + + for (i = 0; i < n; i++) +@@ -186,9 +182,8 @@ int n; + } + + void +-pushc(c) +-int c; +-{ ++pushc(int c) { ++ + if (poolp >= &pool[POOLSIZE]) + error("buffer bool overflow"); + *poolp++ = c; +--- gcl27-2.7.1.orig/cmpnew/gcl_cmpcall.lsp ++++ gcl27-2.7.1/cmpnew/gcl_cmpcall.lsp +@@ -52,6 +52,75 @@ + (defvar *use-sfuncall* t) + (defvar *super-funcall* nil) + ++;; (defun c2funcall (funob args &optional loc) ++ ++;; (unless (listp args) ++;; (if *compiler-push-events* ++;; (wt-nl "super_funcall(" loc ");") ++;; (if *super-funcall* ++;; (funcall *super-funcall* loc) ++;; (wt-nl "super_funcall_no_event(" loc ");"))) ++;; (unwind-exit 'fun-val) ++;; (return-from c2funcall nil)) ++ ++;; (unless (eq 'ordinary (car funob)) (baboon)) ++ ++;; (let* ((fn (caddr funob)) ++;; (all (cons fn args)) ++;; (*inline-blocks* 0)) ++;; (setq *sup-used* t) ++;; (unwind-exit ++;; (get-inline-loc ++;; (list (make-list (length all) :initial-element t) ++;; '* #.(flags ans set svt) ++;; (concatenate 'string ++;; "({object _z,_f=#0;fixnum _v=(fixnum)#v; ++;; fcall.fun=_f;fcall.valp=_v;fcall.argd=#n-1; ++;; _z=Rset && !(_f)->fun.fun_argd && ++;; fcall.argd>=(_f)->fun.fun_minarg && fcall.argd<=((_f)->fun.fun_maxarg) ? ++;; " ++;; (if args ++;; "(_f)->fun.fun_self(#*)" ++;; "((_f)->fun.fun_maxarg ? (_f)->fun.fun_self(#?) : (_f)->fun.fun_self(#*))") ++;; " : call_proc_cs2(#?); ++;; if (!(_f)->fun.fun_neval && !(_f)->fun.fun_vv) vs_top=_v ? (object *)_v : sup; ++;; _z;})")) all)) ++;; (close-inline-blocks))) ++ ++;; (defun c2funcall (funob args &optional loc) ++ ++;; (unless (listp args) ++;; (if *compiler-push-events* ++;; (wt-nl "super_funcall(" loc ");") ++;; (if *super-funcall* ++;; (funcall *super-funcall* loc) ++;; (wt-nl "super_funcall_no_event(" loc ");"))) ++;; (unwind-exit 'fun-val) ++;; (return-from c2funcall nil)) ++ ++;; (unless (eq 'ordinary (car funob)) (baboon)) ++ ++;; (let* ((fn (caddr funob)) ++;; (all (cons fn args)) ++;; (*inline-blocks* 0)) ++;; (setq *sup-used* t) ++;; (unwind-exit ++;; (get-inline-loc ++;; (list (make-list (length all) :initial-element t) ++;; '* #.(flags ans set svt) ++;; (concatenate 'string ++;; "({object _z,_f=#0;fixnum _v=(fixnum)#v; ++;; fcall.fun=_f;fcall.valp=_v;fcall.argd=#n-1; ++;; _z=Rset && !(_f)->fun.fun_argd && ++;; fcall.argd>=(_f)->fun.fun_minarg && fcall.argd<=((_f)->fun.fun_maxarg) ? ++;; ({object _b[]={#*}; ++;; quick_call_function_vec(_f,sizeof(_b)/sizeof(*_b),_b);}) : ++;; call_proc_cs2(#?); ++;; if (!(_f)->fun.fun_neval && !(_f)->fun.fun_vv) vs_top=_v ? (object *)_v : sup; ++;; _z;})")) all)) ++;; (close-inline-blocks))) ++ ++ + (defun c2funcall (funob args &optional loc) + + (unless (listp args) +@@ -67,24 +136,35 @@ + + (let* ((fn (caddr funob)) + (all (cons fn args)) ++ (la1 (1- (length all))) + (*inline-blocks* 0)) + (setq *sup-used* t) + (unwind-exit + (get-inline-loc + (list (make-list (length all) :initial-element t) + '* #.(flags ans set svt) +- (concatenate 'string +- "({object _z,_f=#0;fixnum _v=(fixnum)#v; +- fcall.fun=_f;fcall.valp=_v;fcall.argd=#n-1; +- _z=Rset && !(_f)->fun.fun_argd && +- fcall.argd>=(_f)->fun.fun_minarg && fcall.argd<=((_f)->fun.fun_maxarg) ? +- " +- (if args +- "(_f)->fun.fun_self(#*)" +- "((_f)->fun.fun_maxarg ? (_f)->fun.fun_self(#?) : (_f)->fun.fun_self(#*))") +- " : call_proc_cs2(#?); +- if (!(_f)->fun.fun_neval && !(_f)->fun.fun_vv) vs_top=_v ? (object *)_v : sup; +- _z;})")) all)) ++ (ms ++ "({object _z,_f=fcall.fun=#0;fixnum _v=fcall.valp=(fixnum)#v;char _n=fcall.argd=#n-1; ++ _n=Rset && ++ !_f->fun.fun_argd && ++ _n>=_f->fun.fun_minarg && ++ _n<=(_f->fun.fun_maxarg) ? ++ _f->fun.fun_minarg-_n : -(MAX_ARGS+1); ++ switch (_n) { ++ case 0: _z=_f->fun.fun_minarg==_f->fun.fun_maxarg ? ++ (" (gcst la1) "_f->fun.fun_self)(#*) : ++ (" (gcst (max 1 la1) t) "_f->fun.fun_self)(#?);break; ++ " ++ (let ((i 0)) ++ (mapcan (lambda (x &aux (j (decf i))) ++ (declare (ignore x)) ++ (list "case " (write-to-string j) ": _z=(" (gcst (max 1 (+ j la1)) t) "_f->fun.fun_self)(#?);break; ++ ")) ++ (make-list (max 0 la1)))) ++ "default: _z=call_proc_cs2(#?);break; ++ } ++ if (!_f->fun.fun_neval && !_f->fun.fun_vv) vs_top=_v ? (object *)_v : sup; ++ _z;})")) all)) + (close-inline-blocks))) + + +@@ -391,6 +471,63 @@ + + ;;make a function which will be called hopefully only once, + ;;and will establish the link. ++ ++(defun stub-decl (name args d &optional vp ++ &aux (i 0)) ++ (concatenate ++ 'string ++ "static " d " " name ;" LnkT" num ++ "(" ++ (apply 'concatenate 'string ++ (mapcan (lambda (x) ++ (if (eq x '*) ++ (list ",...") ++ (list (if (plusp i) "," "") ++ (rep-type x) ++ (progn (incf i) (if vp (concatenate 'string "x" (write-to-string i)) ""))))) ++ (if (eq (car args) '*) (cons t args) args))) ++ ")")) ++ ++ ++(defun stub (num name args type clp ++ &aux (va (eq '* (car (last args)))) (n (if va 1 0))(i (max n (- (length args) n)));FIXME ++ (d (declaration-type (rep-type (if (link-arg-p type) type t))))) ++ (concatenate ++ 'string ++ (stub-decl (concatenate 'string "LnkT" num) args d t) ++ "{ ++ int nargs=" (if va "fcall.argd<0 ? -fcall.argd : fcall.argd" (write-to-string i)) "; ++ object *FOO=alloca(nargs*sizeof(*FOO)); ++ " ++ ++ (let ((j 0)) ++ (apply 'concatenate 'string ++ (mapcan (lambda (x &aux (sj (write-to-string (incf j)))) ++ (declare (ignore x)) ++ (list "FOO[" sj "-1]=(object)x" sj ";")) ++ (make-list i)))) ++ (when va ++ (concatenate ++ 'string ++ " ++ { ++ va_list ap; ++ va_start(ap,x" (write-to-string i) "); ++ int i; ++ for (i=" (write-to-string i) ";ifun.fun_self") nm)) ++ (als (cdr (mapcan (lambda (x) (list "," (if (eq x '*) "..." "object"))) (car sig)))) ++ (nm (if clp (ms "((object(*)(" als "))" clp "->fun.fun_self)") nm)) + (inl (g1 clp nm sig ap clp (if clp -1 (fun-level fun))))) + `(,(adj-call-tps-max (car sig)) ,(cadr sig) + ,(if mv (flags rfa svt) (flags rfa)) +--- gcl27-2.7.1.orig/cmpnew/gcl_cmpfun.lsp ++++ gcl27-2.7.1/cmpnew/gcl_cmpfun.lsp +@@ -111,23 +111,25 @@ + ;; stream) + ;; (list 'call-global info 'terpri (list stream)))) + ++(defun gcst (n &optional e) ++ (ms "(object(*)(" (cdr (mapcan (lambda (x) (declare (ignore x)) (list "," "object")) (make-list n))) (when e ",...") "))")) + + (defun c2apply (funob args) + (unless (eq 'ordinary (car funob)) (baboon)) + (let* ((fn (caddr funob)) + (all (cons fn args)) ++ (la2 (- (length all) 2)) + (*inline-blocks* 0)) + (setq *sup-used* t) + (unwind-exit + (get-inline-loc + (list (make-list (length all) :initial-element t) + '* #.(flags ans set svt) +- (concatenate +- 'string ++ (ms + "({fixnum _v=(fixnum)#v;object _z,_f=(#0),_l=(#1),_ll=_l; + object _x4=Cnil,_x3=Cnil,_x2=Cnil,_x1=Cnil,_x0=Cnil; +- char _m=(#n-2),_q=_f->fun.fun_minarg>_m ? _f->fun.fun_minarg-_m : 0; +- char _n=Rset && !_f->fun.fun_argd ? _q : -1; ++ char _m=(#n-2),_n=Rset && !_f->fun.fun_argd ? _f->fun.fun_minarg-_m : -(MAX_ARGS+1); ++ char _reg=_f->fun.fun_minarg==_f->fun.fun_maxarg; + fcall.fun=_f;fcall.valp=_v;fcall.argd=-(#n-1); + switch (_n) { + case 5: if (_l==Cnil) {_n=-1;break;} _x4=_l->c.c_car;_l=_l->c.c_cdr; +@@ -135,21 +137,30 @@ + case 3: if (_l==Cnil) {_n=-1;break;} _x2=_l->c.c_car;_l=_l->c.c_cdr; + case 2: if (_l==Cnil) {_n=-1;break;} _x1=_l->c.c_car;_l=_l->c.c_cdr; + case 1: if (_l==Cnil) {_n=-1;break;} _x0=_l->c.c_car;_l=_l->c.c_cdr; +- case 0: if (_n+_m+(_l==Cnil ? 0 : 1)>_f->fun.fun_maxarg) _n=-1; else fcall.argd-=_n; +- default: break; ++ case 0: if (_n+_m+(_l==Cnil ? 0 : 1)>_f->fun.fun_maxarg) _n=-(MAX_ARGS+1); else fcall.argd-=_n; ++ default: if (_m+(_l==Cnil ? 0 : 1)>_f->fun.fun_maxarg) _n=-(MAX_ARGS+1);break; + } + switch (_n) { +- case 5: _z=_f->fun.fun_self(#*_x4,_x3,_x2,_x1,_x0,_l);break; +- case 4: _z=_f->fun.fun_self(#*_x3,_x2,_x1,_x0,_l);break; +- case 3: _z=_f->fun.fun_self(#*_x2,_x1,_x0,_l);break; +- case 2: _z=_f->fun.fun_self(#*_x1,_x0,_l);break; +- case 1: _z=_f->fun.fun_self(#*_x0,_l);break; +- case 0: _z=" +- (if (cdr args) +- "_f->fun.fun_self(#*_l)" +- "(_f->fun.fun_maxarg ? _f->fun.fun_self(#*_l) : _f->fun.fun_self())") +- ";break; +- default: _z=call_proc_cs2(#*_ll);break; ++ case 5: _z=_reg ? (" (gcst (+ 5 la2)) "_f->fun.fun_self)(#*_x4,_x3,_x2,_x1,_x0) : ++ (" (gcst (+ 5 la2) t) "_f->fun.fun_self)(#*_x4,_x3,_x2,_x1,_x0,_l);break; ++ case 4: _z=_reg ? (" (gcst (+ 4 la2)) "_f->fun.fun_self)(#*_x3,_x2,_x1,_x0) : ++ (" (gcst (+ 4 la2) t) "_f->fun.fun_self)(#*_x3,_x2,_x1,_x0,_l);break; ++ case 3: _z=_reg ? (" (gcst (+ 3 la2)) "_f->fun.fun_self)(#*_x2,_x1,_x0) : ++ (" (gcst (+ 3 la2) t) "_f->fun.fun_self)(#*_x2,_x1,_x0,_l);break; ++ case 2: _z=_reg ? (" (gcst (+ 2 la2)) "_f->fun.fun_self)(#*_x1,_x0) : ++ (" (gcst (+ 2 la2) t) "_f->fun.fun_self)(#*_x1,_x0,_l);break; ++ case 1: _z=_reg ? (" (gcst (+ 1 la2)) "_f->fun.fun_self)(#*_x0) : ++ (" (gcst (+ 1 la2) t) "_f->fun.fun_self)(#*_x0,_l);break; ++ case 0: _z=_reg ? (" (gcst (+ 0 la2)) "_f->fun.fun_self)(#*) : ++ (" (gcst (max 1 (+ 0 la2)) t) "_f->fun.fun_self)(#*_l);break; ++ " ++ (let ((i 0)) ++ (mapcan (lambda (x) ++ (declare (ignore x)) ++ (list "case " (write-to-string (decf i)) ": _z=(" (gcst (max 1 (+ i la2)) t) "_f->fun.fun_self)(#*_l);break; ++ ")) ++ (make-list (max 0 la2)))) ++ "default: _z=call_proc_cs2(#*_ll);break; + } + if (!(_f)->fun.fun_neval && !(_f)->fun.fun_vv) vs_top=_v ? (object *)_v : sup; + _z;})")) +--- gcl27-2.7.1.orig/cmpnew/gcl_cmpinline.lsp ++++ gcl27-2.7.1/cmpnew/gcl_cmpinline.lsp +@@ -946,8 +946,8 @@ + ((eql ch #\n) + (wt (length locs))) + ((or (eql ch #\*) (eql ch #\?)) +- (let* ((f (char= (char fun (1- i)) #\()) +- (e (char= (char fun (+ 2 i)) #\))) ++ (let* ((f (member (char fun (1- i)) '(#\( #\{))) ++ (e (member (char fun (+ 2 i)) '(#\) #\}))) + (locs (nthcdr max locs)) + (locs (or locs (when (eql ch #\?) `((fixnum-value nil 0)))))) + (dolist (v locs (unless (or f e) (wt ","))) +--- gcl27-2.7.1.orig/cmpnew/gcl_cmpmain.lsp ++++ gcl27-2.7.1/cmpnew/gcl_cmpmain.lsp +@@ -180,12 +180,23 @@ + (when tem (truename tem)))))) + ((setf (car *split-files*) (+ (third *split-files*) section-length)))))) + ++(defun pathname-type-prefix (tp) ++ (if (stringp tp) (subseq tp 0 (1+ (string-match #v"\\.[^\\.]*$" tp))) "")) ++ ++(defun compile-file-pathname (pathname &key output-file &allow-other-keys) ++ (declare (optimize (safety 1))) ++ (check-type pathname pathname-designator) ++ (check-type output-file (or null pathname-designator)) ++ (or output-file ++ (make-pathname :defaults pathname ++ :type (strcat (pathname-type-prefix (pathname-type pathname)) "o")))) ++ + (defvar *init-name* nil) + (defvar *function-filename* nil) + (defvar *c-debug* nil) + (defvar *dump-inl-hash* nil) + (defun compile-file1 (input-pathname +- &key (output-file (merge-pathnames ".o" (truename input-pathname))) ++ &key (output-file (compile-file-pathname (truename input-pathname))) + (o-file t) + (c-file *default-c-file*) + (h-file *default-h-file*) +@@ -242,12 +253,9 @@ Cannot compile ~a.~%" (namestring (merge + (when (consp *split-files*) + (file-position *compiler-input* (third *split-files*)) + (setq output-file +- (make-pathname :device (pathname-device output-file) +- :directory (pathname-directory output-file) +- :name (format nil "~a~a" +- (pathname-name output-file) +- (length (second *split-files*))) +- :type "o"))) ++ (merge-pathnames ++ (format nil "~a~a" (pathname-name output-file) (length (second *split-files*))) ++ output-file))) + + (with-open-file (s output-file :if-does-not-exist :create)) + (setq *init-name* (init-name output-file t)) +@@ -256,16 +264,15 @@ Cannot compile ~a.~%" (namestring (merge + (namestring (truename (pathname *compiler-input*))))) + + (let* ((eof (cons nil nil)) +- (dir (or (unless (null output-file) (pathname-directory output-file)) (pathname-directory input-pathname))) +- (name (or (unless (null output-file) (pathname-name output-file)) (pathname-name input-pathname))) +- (tp (or (unless (null output-file) (pathname-type output-file)) "o")) +- (device (or (unless (null output-file) (pathname-device output-file)) (pathname-device input-pathname))) +- (o-pathname (get-output-pathname o-file tp name dir device)) +- (c-pathname (get-output-pathname c-file "c" name dir device)) +- (h-pathname (get-output-pathname h-file "h" name dir device)) +- (data-pathname (get-output-pathname data-file "data" name dir device))) +- +- (declare (special dir name));FIXME ++ (device (pathname-device output-file)) ++ (dir (pathname-directory output-file)) ++ (name (pathname-name output-file)) ++ (typ (pathname-type output-file)) ++ (tp (pathname-type-prefix typ)) ++ (o-pathname (get-output-pathname o-file typ name dir device)) ++ (c-pathname (get-output-pathname c-file (strcat tp "c") name dir device)) ++ (h-pathname (get-output-pathname h-file (strcat tp "h") name dir device)) ++ (data-pathname (get-output-pathname data-file (strcat tp "data") name dir device))) + + (init-env) + +--- gcl27-2.7.1.orig/cmpnew/gcl_cmpopt.lsp ++++ gcl27-2.7.1/cmpnew/gcl_cmpopt.lsp +@@ -1162,7 +1162,8 @@ + (setf (get s 'lisp-type) l))) + + (dolist (l '((object t)(plist proper-list)(float short-float)(double long-float) +- (pack (or null package)) (direl (or keyword null string)))) ++ (pack (or null package)) (direl (or keyword null string)) ++ (dirdir (or (eql :unspecific) proper-list)))) + (let ((s (intern (symbol-name (car l)) 'keyword))) + (setf (get s 'lisp-type) (cadr l)))) + +--- gcl27-2.7.1.orig/cmpnew/gcl_cmptop.lsp ++++ gcl27-2.7.1/cmpnew/gcl_cmptop.lsp +@@ -179,7 +179,7 @@ + (defun init-name (p &optional sp) + + (if sp +- (let* ((p (truename (merge-pathnames p #p".lsp"))) ++ (let* ((p (truename p)) + (pn (pathname-name p)) + (g (zerop (si::string-match #v"^gcl_" pn)))) + (dash-to-underscore +@@ -338,19 +338,8 @@ + + (when (eq type 'proclaimed-closure) + (wt-h "static object *Lclptr"num";")) +- +- (if (and (not (null type)) +- (not (eq type 'proclaimed-closure)) +- (or args (not (eq t type)))) +- (progn +- (wt-h "static " d " LnkT" num "(object,...);") +- #-sgi3d (wt-h "static " d " (*Lnk" num ")() = (" +- d "(*)()) LnkT" num ";") +- #+sgi3d (wt-h "static " d " (*Lnk" num ")();")) +- (progn +- (wt-h "static " d " LnkT" num "();") +- #-sgi3d (wt-h "static " d " (*Lnk" num ")() = LnkT" num ";") +- #+sgi3d (wt-h "static " d " (*Lnk" num ")();")))))) ++ (wt-h (stub-decl (concatenate 'string "LnkT" num) args d) ";") ++ (wt-h (stub-decl (concatenate 'string "(*Lnk" num ")") args d) "=LnkT" num ";")))) + + + ;; this default will be as close to the the decision of the x3j13 committee +@@ -1127,19 +1116,34 @@ + (let ((x (position x +c-global-arg-types+ :test 'type<=))) + (if x (1+ x) 0)))) + +-(defconstant +max-typed-args+ +- (let ((x (cdr (tp-bnds (cadr (si::sig 'c-function-argd)))))) +- (if (typep x 'fixnum) (1- (truncate (integer-length x) 2)) 0))) ++(defun argd-sz nil ++ (labels ((ff (x) (when (consp x) (if (eq (car x) 'the) (cdr (tp-bnds (cmp-norm-tp (cadr x)))) (or (ff (car x)) (ff (cdr x))))))) ++ (ff (fle 'c-function-argd)))) ++ ++(defconstant +real-max-typed-args+ ++ (labels ((ret-max (x) ++ (when (consp x) ++ (if (eq (car x) 'the) ++ (1- (truncate (integer-length (cdr (tp-bnds (cmp-norm-tp (cadr x))))) 2)) ++ (or (ret-max (car x)) (ret-max (cdr x))))))) ++ (ret-max (fle 'c-function-argd)))) ++ ++(defconstant +max-typed-args+ #+pre-gcl 0 #-pre-gcl +real-max-typed-args+) + + (defun adj-call-tps-max (tps &aux (i -1)) + (mapcar (lambda (x) (type-or1 (>= (incf i) +max-typed-args+) x)) tps)) + +-(defun new-proclaimed-argd (args return) +- (do* ((type (f-type return) (f-type (pop args))) +- (i 0 (+ 2 i)) +- (ans type (logior ans (ash type i)))) +- ((or (>= i #.(ash +max-typed-args+ 1)) (null args)) +- (the (unsigned-byte #.(1+ (ash +max-typed-args+ 1))) ans)))) ++(defun new-proclaimed-argd (args return &aux (i 0)) ++ (reduce (lambda (y x &aux (j (incf i))) ++ (if (> j +max-typed-args+) y (logior y (ash (f-type x) (ash j 1)))));FIXME fragile wrt pre-gcl ++ args :initial-value (f-type return))) ++ ++;; (defun new-proclaimed-argd (args return) ++;; (do* ((type (f-type return) (f-type (pop args))) ++;; (i 0 (+ 2 i)) ++;; (ans type (logior ans (ash type i)))) ++;; ((or (>= i #.(ash +max-typed-args+ 1)) (null args)) ++;; (the (unsigned-byte #.(ash (1+ +real-max-typed-args+) 1)) ans)))) + + (defun type-f (x) + (declare (fixnum x)) +--- gcl27-2.7.1.orig/compile ++++ gcl27-2.7.1/compile +@@ -1,9 +1,9 @@ + #! /bin/sh + # Wrapper for compilers which do not understand '-c -o'. + +-scriptversion=2024-06-19.01; # UTC ++scriptversion=2025-06-18.21; # UTC + +-# Copyright (C) 1999-2024 Free Software Foundation, Inc. ++# Copyright (C) 1999-2025 Free Software Foundation, Inc. + # Written by Tom Tromey . + # + # This program is free software; you can redistribute it and/or modify +@@ -37,11 +37,11 @@ IFS=" "" $nl" + + file_conv= + +-# func_file_conv build_file lazy ++# func_file_conv build_file unneeded_conversions + # Convert a $build file to $host form and store it in $file + # Currently only supports Windows hosts. If the determined conversion +-# type is listed in (the comma separated) LAZY, no conversion will +-# take place. ++# type is listed in (the comma separated) UNNEEDED_CONVERSIONS, no ++# conversion will take place. + func_file_conv () + { + file=$1 +@@ -51,9 +51,20 @@ func_file_conv () + # lazily determine how to convert abs files + case `uname -s` in + MINGW*) +- file_conv=mingw ++ if test -n "$MSYSTEM" && (cygpath --version) >/dev/null 2>&1; then ++ # MSYS2 environment. ++ file_conv=cygwin ++ else ++ # Original MinGW environment. ++ file_conv=mingw ++ fi + ;; +- CYGWIN* | MSYS*) ++ MSYS*) ++ # Old MSYS environment, or MSYS2 with 32-bit MSYS2 shell. ++ file_conv=cygwin ++ ;; ++ CYGWIN*) ++ # Cygwin environment. + file_conv=cygwin + ;; + *) +@@ -63,12 +74,14 @@ func_file_conv () + fi + case $file_conv/,$2, in + *,$file_conv,*) ++ # This is the optimization mentioned above: ++ # If UNNEEDED_CONVERSIONS contains $file_conv, don't convert. + ;; + mingw/*) + file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` + ;; +- cygwin/* | msys/*) +- file=`cygpath -m "$file" || echo "$file"` ++ cygwin/*) ++ file=`cygpath -w "$file" || echo "$file"` + ;; + wine/*) + file=`winepath -w "$file" || echo "$file"` +@@ -343,9 +356,9 @@ exit $ret + # Local Variables: + # mode: shell-script + # sh-indentation: 2 +-# eval: (add-hook 'before-save-hook 'time-stamp) ++# eval: (add-hook 'before-save-hook 'time-stamp nil t) + # time-stamp-start: "scriptversion=" +-# time-stamp-format: "%:y-%02m-%02d.%02H" ++# time-stamp-format: "%Y-%02m-%02d.%02H" + # time-stamp-time-zone: "UTC0" + # time-stamp-end: "; # UTC" + # End: +--- gcl27-2.7.1.orig/configure ++++ gcl27-2.7.1/configure +@@ -2996,7 +2996,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu + + ac_config_headers="$ac_config_headers h/gclincl.h" + +-am__api_version='1.17' ++am__api_version='1.18' + + + +@@ -3266,10 +3266,14 @@ am_lf=' + ' + case `pwd` in + *[\\\"\#\$\&\'\`$am_lf]*) ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; + esac + case $srcdir in + *[\\\"\#\$\&\'\`$am_lf\ \ ]*) ++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++printf "%s\n" "no" >&6; } + as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; + esac + +@@ -5476,7 +5480,10 @@ _ACEOF + break + fi + done +- rm -f core conftest* ++ # aligned with autoconf, so not including core; see bug#72225. ++ rm -f -r a.out a.exe b.out conftest.$ac_ext conftest.$ac_objext \ ++ conftest.dSYM conftest1.$ac_ext conftest1.$ac_objext conftest1.dSYM \ ++ conftest2.$ac_ext conftest2.$ac_objext conftest2.dSYM + unset am_i ;; + esac + fi +@@ -6703,7 +6710,10 @@ _ACEOF + break + fi + done +- rm -f core conftest* ++ # aligned with autoconf, so not including core; see bug#72225. ++ rm -f -r a.out a.exe b.out conftest.$ac_ext conftest.$ac_objext \ ++ conftest.dSYM conftest1.$ac_ext conftest1.$ac_objext conftest1.dSYM \ ++ conftest2.$ac_ext conftest2.$ac_objext conftest2.dSYM + unset am_i ;; + esac + fi +@@ -7182,12 +7192,9 @@ printf "%s\n" "removing $1 from LDFLAGS" + + } + +-add_args_to_cppflags -std=gnu17 +- + add_args_to_cflags -fsigned-char -pipe -fcommon \ + -fno-builtin-malloc -fno-builtin-free \ + -fno-PIE -fno-pie -fno-PIC -fno-pic \ +- -std=gnu17 \ + -Wall \ + -Wno-builtin-requires-header -Wno-empty-body -Wno-self-assign \ + -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 \ +--- gcl27-2.7.1.orig/configure.ac ++++ gcl27-2.7.1/configure.ac +@@ -270,12 +270,9 @@ remove_arg_from_ldflags() { + + } + +-add_args_to_cppflags -std=gnu17 +- + add_args_to_cflags -fsigned-char -pipe -fcommon \ + -fno-builtin-malloc -fno-builtin-free \ + -fno-PIE -fno-pie -fno-PIC -fno-pic \ +- -std=gnu17 \ + -Wall \ + -Wno-builtin-requires-header -Wno-empty-body -Wno-self-assign \ + -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 \ +--- gcl27-2.7.1.orig/depcomp ++++ gcl27-2.7.1/depcomp +@@ -1,9 +1,9 @@ + #! /bin/sh + # depcomp - compile a program generating dependencies as side-effects + +-scriptversion=2024-06-19.01; # UTC ++scriptversion=2025-06-18.21; # UTC + +-# Copyright (C) 1999-2024 Free Software Foundation, Inc. ++# Copyright (C) 1999-2025 Free Software Foundation, Inc. + + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -784,9 +784,9 @@ exit 0 + # Local Variables: + # mode: shell-script + # sh-indentation: 2 +-# eval: (add-hook 'before-save-hook 'time-stamp) ++# eval: (add-hook 'before-save-hook 'time-stamp nil t) + # time-stamp-start: "scriptversion=" +-# time-stamp-format: "%:y-%02m-%02d.%02H" ++# time-stamp-format: "%Y-%02m-%02d.%02H" + # time-stamp-time-zone: "UTC0" + # time-stamp-end: "; # UTC" + # End: +--- gcl27-2.7.1.orig/gcl-tk/comm.c ++++ gcl27-2.7.1/gcl-tk/comm.c +@@ -79,8 +79,7 @@ setup_connection_state(int fd) + + /* P is supposed to start with a hdr and run N bytes. */ + static void +-scan_headers(sfd) +- struct connection_state *sfd; ++scan_headers(struct connection_state *sfd) + { struct our_header *hdr; + char *p = sfd->valid_data + sfd->next_packet_offset; + int n = sfd->valid_data_size - sfd->next_packet_offset; +@@ -118,11 +117,7 @@ send_confirmation(struct connection_stat + */ + + static int +-read1(sfd,p,m,timeout) +-struct connection_state* sfd; +-char *p; +-int timeout; +-int m; ++read1(struct connection_state* sfd,char *p,int m,int timeout) + { int nread=0; + int wanted = m; + int length; +@@ -217,10 +212,7 @@ static void + connection_failure(char *); + + int +-write1(sfd,p,bytes) +- struct connection_state *sfd; +- const char *p; +- int bytes; ++write1(struct connection_state *sfd,const char *p,int bytes) + { + int bs; + int to_send = bytes; +--- gcl27-2.7.1.orig/gcl-tk/guis.c ++++ gcl27-2.7.1/gcl-tk/guis.c +@@ -93,7 +93,7 @@ int fDebugSockets; + + int hdl = -1; + +-void TkX_Wish (); ++void TkX_Wish (int,char *[]); + + pid_t parent; + +@@ -335,11 +335,7 @@ char *envp[]; + } + + struct connection_state * +-sock_connect_to_name(host_id, name, async) +- char *host_id; +- int name; +- int async; +- ++sock_connect_to_name(char *host_id,int name,int async) + { + struct sockaddr_in addr; + int fd, n, rc; +@@ -360,8 +356,7 @@ sock_connect_to_name(host_id, name, asy + } + + void +-sock_close_connection(sfd) +-struct connection_state *sfd; ++sock_close_connection(struct connection_state *sfd) + { + close( sfd->fd ); + free(sfd->read_buffer); +@@ -387,16 +382,8 @@ struct connection_state *sfd; + static int message_id; + + int +-sock_write_str2( sfd, type, hdr, +- hdrsize,text, length ) +- +-struct connection_state *sfd; +-enum mtype type; +- char *hdr; +-int hdrsize; +-const char *text; +-int length; +- ++sock_write_str2(struct connection_state *sfd,enum mtype type,char *hdr, ++ int hdrsize,const char *text,int length ) + { + char buf[0x1000]; + char *p = buf; +@@ -447,10 +434,7 @@ int length; + + + struct message_header * +-guiParseMsg1(sfd,buf,bufleng) +- char *buf; +-int bufleng; +-struct connection_state *sfd; ++guiParseMsg1(struct connection_state *sfd,char *buf,int bufleng) + { int m; + int body_length; + int tot; +@@ -489,12 +473,10 @@ error(s) + } + + void +-write_timeout_error(s) +- char *s; ++write_timeout_error(char *s) + { fprintf(stderr,"write timeout: %s",s); abort(); + } + void +-connection_failure(s) +- char *s; ++connection_failure(char *s) + { fprintf(stderr,"connection_failure:%s",s); abort(); + } +--- gcl27-2.7.1.orig/gcl-tk/guis.h ++++ gcl27-2.7.1/gcl-tk/guis.h +@@ -70,14 +70,14 @@ typedef struct _guiMsg { + */ + + #include "sheader.h" +-struct message_header * guiParseMsg1(); ++struct message_header *guiParseMsg1(struct connection_state *,char *,int); + + + extern pid_t parent; + +-struct connection_state * +-sock_connect_to_name(); +-void sock_close_connection( ); ++struct connection_state *sock_connect_to_name(char *,int,int); ++void sock_close_connection(struct connection_state *); ++ + int sock_read_str(); + + guiMsg *guiParseMsg(); +--- gcl27-2.7.1.orig/gcl-tk/sheader.h ++++ gcl27-2.7.1/gcl-tk/sheader.h +@@ -109,4 +109,4 @@ extern struct connection_state *dsfd; + #define OBJ_TO_CONNECTION_STATE(x) \ + ((struct connection_state *)(void *)((x)->ust.ust_self)) + +-struct connection_state * setup_connection_state(); ++struct connection_state * setup_connection_state(int); +--- gcl27-2.7.1.orig/gcl-tk/tkAppInit.c ++++ gcl27-2.7.1/gcl-tk/tkAppInit.c +@@ -61,8 +61,7 @@ int *tclDummyMainPtr = (int *) main; + */ + + int +-Tcl_AppInit(interp) +- Tcl_Interp *interp; /* Interpreter for application. */ ++Tcl_AppInit(Tcl_Interp *interp)/* Interpreter for application. */ + { + Tk_Window mmain; + /* +--- gcl27-2.7.1.orig/gcl-tk/tkMain.c ++++ gcl27-2.7.1/gcl-tk/tkMain.c +@@ -57,8 +57,9 @@ + #include + #include + #include ++#include + +-int writable_malloc=0; /*FIXME, don't wrap fopen here, exclude notcomp.h or equivalent */ ++bool writable_malloc=0; /*FIXME, don't wrap fopen here, exclude notcomp.h or equivalent */ + + #include "guis.h" + struct connection_state *dsfd; +@@ -128,8 +129,7 @@ dfprintf(FILE *fp,char *s,...) { + #define SIGNAL_ERROR TCL_signal_error + + static void +-TCL_signal_error(x) +- char *x; ++TCL_signal_error(char *x) + {char buf[300] ; + snprintf(buf,sizeof(buf),"error %s",x); + Tcl_Eval(interp,buf); +@@ -196,9 +196,7 @@ EXTERN Tk_Window TkCreateMainWindow _ANS + char * screenName, char * baseName)); + + void +-TkX_Wish (argc, argv) +- int argc; /* Number of arguments. */ +- char **argv; /* Array of argument strings. */ ++TkX_Wish (int argc,char **argv) + { + char *args, *p; + const char *msg; +@@ -402,18 +400,11 @@ static char *being_set_by_lisp; + + static char * + tell_lisp_var_changed( +- clientData, +- interp, +- name1, +- name2, +- flags) +- +- ClientData clientData; +- Tcl_Interp *interp; +- char *name1; +- char *name2; +- int flags; +- ++ ClientData clientData, ++ Tcl_Interp *interp, ++ const char *name1, ++ const char *name2, ++ int flags) + { + + if (being_set_by_lisp == 0) +@@ -459,9 +450,7 @@ tell_lisp_var_changed( + + /* ARGSUSED */ + static void +-StdinProc(clientData, mask) +- ClientData clientData; /* Not used. */ +- int mask; /* Not used. */ ++StdinProc(ClientData clientData,int mask) + { + int fNotDone; + char *cmd; +@@ -606,13 +595,9 @@ typedef struct _ClientDataLispObject { + } ClientDataLispObject; + + static int +-TclGenericCommandProcedure( clientData, +- pinterp, +- argc, argv) +- ClientData clientData; +- Tcl_Interp *pinterp; +- int argc; +- char *argv[]; ++TclGenericCommandProcedure(ClientData clientData, ++ Tcl_Interp *pinterp, ++ int argc,const char **argv) + { + char szCmd[CMD_SIZE]; + ClientDataLispObject *pcdlo = (ClientDataLispObject *)clientData; +@@ -623,7 +608,7 @@ TclGenericCommandProcedure( clientData, + STORE_3BYTES(q,(pcdlo->iSlot)); + q += 3; + if (p == 0) +- { char *arg = (argc > 1 ? argv[1] : ""); ++ { const char *arg = (argc > 1 ? argv[1] : ""); + int m = strlen(arg); + if (m > CMD_SIZE -50) + SIGNAL_ERROR("too big command"); +@@ -663,8 +648,7 @@ TclGenericCommandProcedure( clientData, + + + static void +-guiCreateCommand( idLispObject, iSlot , arglist) +- int idLispObject; int iSlot ; char *arglist; ++guiCreateCommand(int idLispObject,int iSlot,char *arglist) + { + char szNameCmdProc[2000],*c; + ClientDataLispObject *pcdlo; +--- gcl27-2.7.1.orig/git.tag ++++ gcl27-2.7.1/git.tag +@@ -1,2 +1,2 @@ +-"Version_2_7_2pre7" ++"Version_2_7_2pre8" + +--- gcl27-2.7.1.orig/git_touch ++++ gcl27-2.7.1/git_touch +@@ -1,7 +1,15 @@ + #!/bin/bash + +-touch aclocal.m4 \ +- configure.ac gcl-tk/gcltksrv.in bin/gcl.in unixport/init_raw.lsp.in h/gclincl.h.in \ ++SLEEP=$1 ++ ++for i in \ ++ configure.ac aclocal.m4 gcl-tk/gcltksrv.in bin/gcl.in unixport/init_raw.lsp.in h/gclincl.h.in \ + configure \ + Makefile.am Makefile.in \ +- info/gcl.info info/gcl-si.info info/gcl-tk.info info/gcl-dwdoc.info ++ info/gcl.info info/gcl-si.info info/gcl-tk.info info/gcl-dwdoc.info ; do ++ touch $i ++ if [ "$SLEEP" != "" ] ; then ++ echo $i ++ sleep $SLEEP ++ fi ++done +--- gcl27-2.7.1.orig/h/att_ext.h ++++ gcl27-2.7.1/h/att_ext.h +@@ -144,7 +144,6 @@ EXTER object FASL_string; + /* frame.c */ + + /* gbc.c */ +-EXTER bool GBC_enable; + + #ifdef CAN_UNRANDOMIZE_SBRK + EXTER bool gcl_unrandomized; +@@ -418,4 +417,4 @@ EXTER object sSPmemory; + EXTER object sSPinit; + + /* string.d */ +-int (*casefun)(); ++int (*casefun)(int,int *); +--- gcl27-2.7.1.orig/h/cmponly_last.h ++++ gcl27-2.7.1/h/cmponly_last.h +@@ -5,3 +5,6 @@ + /* #undef _setjmp */ + /* #define _setjmp ((int(*)(void *))dlsetjmp) */ + /* #endif */ ++ ++int setjmp(void *); ++int _setjmp(void *); +--- gcl27-2.7.1.orig/h/compdefs.h ++++ gcl27-2.7.1/h/compdefs.h +@@ -93,3 +93,5 @@ aref1 + OBJ_ALIGNED_STACK_ALLOC(x) + NO_RETURN + CHAR_SIZE ++MAX_ARGS ++bool +--- gcl27-2.7.1.orig/h/compprotos.h ++++ gcl27-2.7.1/h/compprotos.h +@@ -16,9 +16,8 @@ int number_zerop(object); + long int fixint(object); + object alloc_object(enum type); + object call_proc_cs2(object,...); +-object call_proc_new(object,ufixnum,ufixnum,void **,ufixnum,object,va_list); +-object call_proc_new_nval(object,ufixnum,ufixnum,void **,ufixnum,object,...); +-object coerce_to_string(); ++object call_proc_new23(object,ufixnum,ufixnum,void **,ufixnum,object *); ++object coerce_to_string(object); + object fixnum_big_shift(fixnum,fixnum); + object fixnum_times(fixnum,fixnum); + object fSgensym0(void); +@@ -102,6 +101,4 @@ object file_stream(object); + fixnum fixnum_expt(fixnum, fixnum); + char *gcl_gets(char *,int); + int gcl_puts(const char *); +-int setjmp(); +-int _setjmp(); + char *object_to_string(object); +--- gcl27-2.7.1.orig/h/error.h ++++ gcl27-2.7.1/h/error.h +@@ -99,7 +99,7 @@ object ihs_top_function_name(ihs_ptr h); + sKformat_control,make_simple_string(a_),sKformat_arguments,list(1,(b_))) + #define FEtoo_few_arguments(a_,b_) \ + Icall_error_handler(sLprogram_error,null_string,4,\ +- sKformat_control,make_simple_string("~S [or a callee] requires more than ~R argument~:p."),\ ++ sKformat_control,make_simple_string("~S [or a callee] requires less than ~R argument~:p."),\ + sKformat_arguments,list(2,ihs_top_function_name(ihs_top),make_fixnum((b_)-(a_)))) + #define FEwrong_no_args(a_,b_) \ + Icall_error_handler(sLprogram_error,null_string,4,\ +@@ -112,7 +112,7 @@ object ihs_top_function_name(ihs_ptr h); + + #define FEtoo_many_arguments(a_,b_) \ + Icall_error_handler(sLprogram_error,null_string,4,\ +- sKformat_control,make_simple_string("~S [or a callee] requires less than ~R argument~:p."),\ ++ sKformat_control,make_simple_string("~S [or a callee] requires more than ~R argument~:p."),\ + sKformat_arguments,list(2,ihs_top_function_name(ihs_top),make_fixnum((b_)-(a_)))) + #define FEtoo_many_argumentsF(a_) \ + Icall_error_handler(sLprogram_error,null_string,4,\ +--- gcl27-2.7.1.orig/h/linux.h ++++ gcl27-2.7.1/h/linux.h +@@ -165,7 +165,7 @@ do { int c = 0; \ + #else + + #define FPE_TCODE(x_) \ +- {ufixnum _x=(x_),_y=0; \ ++ ({ufixnum _x=(x_),_y=0; \ + switch(_x) { \ + case FPE_FLTINV: _y=FE_INVALID;break; \ + case FPE_FLTDIV: _y=FE_DIVBYZERO;break; \ +@@ -174,7 +174,7 @@ do { int c = 0; \ + case FPE_FLTRES: _y=FE_INEXACT;break; \ + } \ + _y; \ +- } ++ }) + #define FPE_CODE(i_,v_) make_fixnum(FPE_TCODE((fixnum)SF(i_)->si_code)) + #define FPE_ADDR(i_,v_) make_fixnum((fixnum)SF(i_)->si_addr) + #define FPE_CTXT(v_) Cnil +--- gcl27-2.7.1.orig/h/lu.h ++++ gcl27-2.7.1/h/lu.h +@@ -47,6 +47,7 @@ typedef void (*vfunc)(); + typedef object integer; + typedef object keyword; + typedef object direl; ++typedef object dirdir; + typedef object plist; + typedef object pack; + typedef object real; +@@ -57,8 +58,7 @@ typedef float shortfloat; + typedef double longfloat; + typedef float complex fcomplex; + typedef double complex dcomplex; +-#undef bool +-typedef int bool; ++#include + typedef unsigned short int ushort; + typedef unsigned int uint; + +@@ -462,7 +462,7 @@ struct pathname { + + direl pn_host; /* host */ + direl pn_device; /* device */ +- plist pn_directory; /* directory */ ++ dirdir pn_directory; /* directory */ + direl pn_name; /* name */ + direl pn_type; /* type */ + direl pn_version; /* version */ +--- gcl27-2.7.1.orig/h/notcomp.h ++++ gcl27-2.7.1/h/notcomp.h +@@ -10,7 +10,7 @@ + + + EXTER int *cs_org; +-EXTER int GBC_enable; ++EXTER bool GBC_enable; + + #define CHAR_SIZE 8 + EXTER object sSAnotify_gbcA; +@@ -20,7 +20,7 @@ EXTER int interrupt_flag,interrupt_enabl + /* void sigint(),sigalrm(); */ + + +-EXTER int gc_enabled, saving_system; ++EXTER bool gc_enabled, saving_system; + + EXTER object lisp_package,user_package; + EXTER char *core_end; +--- gcl27-2.7.1.orig/h/protoize.h ++++ gcl27-2.7.1/h/protoize.h +@@ -366,7 +366,7 @@ object funcall_vec(object,fixnum,object + /* unixtime.c:173:OF */ extern void gcl_init_unixtime (void); /* () */ + /* user_init.c:2:OF */ extern object user_init (void); /* () */ + /* user_init.c:2:OF */ extern int user_match (const char *,int n); /* () */ +-/* usig.c:49:OF */ extern void gcl_signal (int signo, void (*handler) (/* ??? */)); /* (signo, handler) int signo; void (*handler)(); */ ++/* usig.c:49:OF */ extern void gcl_signal (int signo, void (*handler)(int,long,void *,char *)); /* (signo, handler) int signo; void (*handler)(); */ + /* usig.c:92:OF */ extern int unblock_signals (int n, int m); /* (n, m) int n; int m; */ + /* usig.c:119:OF */ extern void unblock_sigusr_sigio (void); /* () */ + /* usig.c:182:OF */ extern void install_default_signals (void); /* () */ +@@ -1674,3 +1674,6 @@ void stack_list(void); + void *msbrk(intptr_t); + int msbrk_init(void); + int msbrk_end(void); ++ ++object ++quick_call_function_vec(object,ufixnum,object *); +--- gcl27-2.7.1.orig/h/usig.h ++++ gcl27-2.7.1/h/usig.h +@@ -1,4 +1,4 @@ +-typedef void (*handler_function_type)(int,siginfo_t *,void *); ++typedef void (*handler_function_type)(int,long,void *,char *); + + EXTER handler_function_type our_signal_handler[32]; + +--- gcl27-2.7.1.orig/install-sh ++++ gcl27-2.7.1/install-sh +@@ -1,7 +1,7 @@ + #!/bin/sh + # install - install a program, script, or datafile + +-scriptversion=2024-06-19.01; # UTC ++scriptversion=2025-06-18.21; # UTC + + # This originates from X11R5 (mit/util/scripts/install.sh), which was + # later released in X11R6 (xc/config/util/install.sh) with the +@@ -533,9 +533,9 @@ do + done + + # Local variables: +-# eval: (add-hook 'before-save-hook 'time-stamp) ++# eval: (add-hook 'before-save-hook 'time-stamp nil t) + # time-stamp-start: "scriptversion=" +-# time-stamp-format: "%:y-%02m-%02d.%02H" ++# time-stamp-format: "%Y-%02m-%02d.%02H" + # time-stamp-time-zone: "UTC0" + # time-stamp-end: "; # UTC" + # End: +--- gcl27-2.7.1.orig/lsp/gcl_deftype.lsp ++++ gcl27-2.7.1/lsp/gcl_deftype.lsp +@@ -6,7 +6,7 @@ + non-negative-short-float negative-long-float positive-long-float + non-positive-long-float non-negative-long-float negative-float + positive-float non-positive-float non-negative-float negative-real +- positive-real non-positive-real non-negative-real complex* ++ positive-real non-positive-real non-negative-real complex* pathname-designator + complex-integer complex-integer-ratio complex-ratio-integer seqind seqbnd + complex-ratio complex-short-float complex-long-float make-complex unordered));FIXME + +--- gcl27-2.7.1.orig/lsp/gcl_directory.lsp ++++ gcl27-2.7.1/lsp/gcl_directory.lsp +@@ -49,11 +49,16 @@ + (expand-wild-directory d (cons :relative (cdr x)) f q e)) :directory));FIXME + ((funcall f z y)))))) + +-(defun directory (p &key &aux (p (translate-logical-pathname p))(d (pathname-directory p)) +- (c (unless (eq (car d) :absolute) (make-frame (namestring *current-directory*)))) +- (lc (when c (length c))) +- (filesp (or (pathname-name p) (pathname-type p))) +- (v (compile-regexp (to-regexp p)))(*up-key* :back) r) ++(defun directory (p &key &aux (p (merge-pathnames (translate-logical-pathname p) ++ #.`(load-time-value ++ (make-pathname ++ ,@(mapcan (lambda (x) (list x (if (eq x :directory) `'(:relative) :unspecific))) ++ +pathname-keys+))))) ++ (d (pathname-directory p)) ++ (c (unless (eq (car d) :absolute) (make-frame (namestring *current-directory*)))) ++ (lc (when c (length c))) ++ (filesp (or (pathname-name p) (pathname-type p))) ++ (v (compile-regexp (to-regexp p)))(*up-key* :back) r) + (expand-wild-directory (pathname-device p) d + (lambda (dir exp &aux (pexp (pathname (if c (vector-push-string c exp 0 lc) exp)))) + (if filesp +--- gcl27-2.7.1.orig/lsp/gcl_logical_pathname_translations.lsp ++++ gcl27-2.7.1/lsp/gcl_logical_pathname_translations.lsp +@@ -24,5 +24,5 @@ + (error "No translations found for ~s" k))) + + (defun logical-pathname-host-p (host) +- (when host ++ (when (stringp host) + (logical-pathname-translations host))) +--- gcl27-2.7.1.orig/lsp/gcl_make_pathname.lsp ++++ gcl27-2.7.1/lsp/gcl_make_pathname.lsp +@@ -47,7 +47,8 @@ + + (defconstant +physical-pathname-defaults+ '(("" "" "" "") + ("" "" "" "") +- ("" "(/?([^/]+/)*)" "" "" "" "([^/]+/)" "/" "/") ++ ("" "(/?([^/]*/)*)" "" "" "" "([^/]*/)" "/" "/") ++; ("" "(/?([^/]+/)*)" "" "" "" "([^/]+/)" "/" "/") + ("" "([^/.]*)" "" ".") + ("." "(\\.[^/]*)?" "" "") + ("" "" "" ""))) +@@ -88,7 +89,8 @@ + ((eql :wild) (if rp (list dflt) (elsub "*" x rp lp))) + ((eql :newest) (elsub (if rp "(newest|NEWEST)" "NEWEST") x rp lp)) + ((member :up :back) (elsub ".." x rp lp)) +- ((member nil :unspecific) (when rp (list dflt))) ++ (null (when rp (list dflt))) ++ ((eql :unspecific) nil) + (cons (cons + (if (eq (car el) :absolute) (if lp "" "/") (if lp ";" "")) + (mapcan (lambda (z) (elsub z y rp lp)) (cdr el))))) +@@ -103,15 +105,17 @@ + x (if lp +logical-pathname-defaults+ +physical-pathname-defaults+)))) + + (defun directory-list-check (l) +- (when (listp l) +- (when (member (car l) '(:absolute :relative)) +- (mapl (lambda (x &aux (c (car x))(d (cadr x))) +- (when (and (member d '(:up :back)) (member c '(:absolute :wild-inferiors))) +- (return-from directory-list-check nil))) l)))) ++ (if (atom l) l ++ (when (member (car l) '(:absolute :relative)) ++ (mapl (lambda (x &aux (c (car x))(d (cadr x))) ++ (when (and (member d '(:up :back)) (member c '(:absolute :wild-inferiors))) ++ (return-from directory-list-check nil))) ++ l)))) + + (defun canonicalize-pathname-directory (l) + (cond ((eq l :wild) (canonicalize-pathname-directory '(:absolute :wild-inferiors))) + ((stringp l) (canonicalize-pathname-directory (list :absolute l))) ++ ((eq l :unspecific) l) + ((mapl (lambda (x &aux (c (car x)) + (skip (cond ((equal c ".") (cdr x)) + ((when (or (stringp c) (eq c :wild)) (eq (cadr x) :back)) (cddr x))))) +--- gcl27-2.7.1.orig/lsp/gcl_merge_pathnames.lsp ++++ gcl27-2.7.1/lsp/gcl_merge_pathnames.lsp +@@ -11,7 +11,7 @@ + :host (or (pathname-host pn) (def (pathname-host def-pn))) + :device (or (pathname-device pn) (def (pathname-device def-pn))) + :directory (let ((d (pathname-directory pn))(defd (pathname-directory def-pn))) +- (or (def (when (and defd (eq (car d) :relative)) (append defd (cdr d)))) d (def defd))) ++ (or (def (when (and defd (listp d) (listp defd) (eq (car d) :relative)) (append defd (cdr d)))) d (def defd))) + :name (or (pathname-name pn) (def (pathname-name def-pn))) + :type (or (pathname-type pn) (def (pathname-type def-pn))) + :version (or (pathname-version pn) (def (unless (pathname-name pn) (pathname-version def-pn))) (def def-v)) +--- gcl27-2.7.1.orig/lsp/gcl_mislib.lsp ++++ gcl27-2.7.1/lsp/gcl_mislib.lsp +@@ -104,9 +104,6 @@ + (decode-universal-time (get-universal-time))) + + ;Courtesy Paul Dietz +-(defun compile-file-pathname (pathname) +- (declare (optimize (safety 2))) +- (make-pathname :defaults pathname :type "o")) + + (defun constantly (x) + (declare (optimize (safety 2))) +--- gcl27-2.7.1.orig/lsp/gcl_seqlib.lsp ++++ gcl27-2.7.1/lsp/gcl_seqlib.lsp +@@ -384,17 +384,17 @@ + (push ns ii) (push ns1 ii)) + (setq ls nls fi nfi)))))))) + +- + (defun stable-sort (sequence predicate &key key) + (declare (optimize (safety 1))) + (check-type sequence proper-sequence) +- (typecase +- sequence +- (list (list-merge-sort sequence predicate key)) +- (string (sort sequence predicate :key key)) +- (bit-vector (sort sequence predicate :key key)) +- (otherwise +- (replace sequence (list-merge-sort (coerce sequence 'list) predicate key))))) ++ (if (listp sequence) ++ (list-merge-sort sequence predicate key) ++ (let (r rp) ++ (dotimes (i (length sequence)) ++ (let ((tmp (cons (aref sequence i) nil))) ++ (declare (dynamic-extent tmp)) ++ (setq rp (if rp (cdr (rplacd rp tmp)) (setq r tmp))))) ++ (replace sequence (list-merge-sort r predicate key))))) + + (eval-when (compile eval) + (defmacro f+ (x y) `(the fixnum (+ (the fixnum ,x) (the fixnum ,y)))) +--- gcl27-2.7.1.orig/missing ++++ gcl27-2.7.1/missing +@@ -1,11 +1,11 @@ + #! /bin/sh + # Common wrapper for a few potentially missing GNU and other programs. + +-scriptversion=2024-06-07.14; # UTC ++scriptversion=2025-06-18.21; # UTC + + # shellcheck disable=SC2006,SC2268 # we must support pre-POSIX shells + +-# Copyright (C) 1996-2024 Free Software Foundation, Inc. ++# Copyright (C) 1996-2025 Free Software Foundation, Inc. + # Originally written by Fran,cois Pinard , 1996. + + # This program is free software; you can redistribute it and/or modify +@@ -228,9 +228,9 @@ give_advice "$1" | sed -e '1s/^/WARNING: + exit $st + + # Local variables: +-# eval: (add-hook 'before-save-hook 'time-stamp) ++# eval: (add-hook 'before-save-hook 'time-stamp nil t) + # time-stamp-start: "scriptversion=" +-# time-stamp-format: "%:y-%02m-%02d.%02H" ++# time-stamp-format: "%Y-%02m-%02d.%02H" + # time-stamp-time-zone: "UTC0" + # time-stamp-end: "; # UTC" + # End: +--- gcl27-2.7.1.orig/o/character.d ++++ gcl27-2.7.1/o/character.d +@@ -108,9 +108,8 @@ Foundation, 675 Mass Ave, Cambridge, MA + If r > 36 or i is not a digit, -1 is returned. + */ + int +-digitp(i, r) +-int i, r; +-{ ++digitp(int i,int r) { ++ + if ('0' <= i && i <= '9' && 1 < r && i < '0' + r) + return(i - '0'); + if ('A' <= i && 10 < r && r <= 36 && i < 'A' + (r - 10)) +@@ -149,9 +148,8 @@ int i, r; + @) + + bool +-char_eq(x, y) +-object x, y; +-{ ++char_eq(object x,object y) { ++ + return(char_code(x) == char_code(y) + && char_bits(x) == char_bits(y) + && char_font(x) == char_font(y)); +@@ -186,9 +184,8 @@ object x, y; + + + static int +-char_cmp(x, y) +-object x, y; +-{ ++char_cmp(object x,object y) { ++ + if (char_font(x) < char_font(y)) + return(-1); + if (char_font(x) > char_font(y)) +@@ -205,9 +202,8 @@ object x, y; + } + + static void +-Lchar_cmp(s, t) +-int s, t; +-{ ++Lchar_cmp(int s,int t) { ++ + int narg, i; + + narg = vs_top - vs_base; +@@ -232,9 +228,8 @@ LFD(Lchar_ge)() { Lchar_cmp(-1, 0); } + + + bool +-char_equal(x, y) +-object x, y; +-{ ++char_equal(object x,object y) { ++ + int i, j; + + i = char_code(x); +@@ -273,9 +268,8 @@ object x, y; + + + static int +-char_compare(x, y) +-object x, y; +-{ ++char_compare(object x,object y) { ++ + int i, j; + + i = char_code(x); +@@ -293,9 +287,8 @@ object x, y; + } + + static void +-Lchar_compare(s, t) +-int s, t; +-{ ++Lchar_compare(int s,int t) { ++ + int narg, i; + + narg = vs_top - vs_base; +@@ -320,9 +313,8 @@ LFD(Lchar_not_lessp)() { Lchar_compar + + + object +-coerce_to_character(x) +-object x; +-{ ++coerce_to_character(object x) { ++ + BEGIN: + switch (type_of(x)) { + case t_fixnum: +@@ -408,9 +400,8 @@ BEGIN: + @) + + int +-digit_weight(w, r) +-int w, r; +-{ ++digit_weight(int w,int r) { ++ + if (r < 2 || r > 36 || w < 0 || w >= r) + return(-1); + if (w < 10) +--- gcl27-2.7.1.orig/o/cmac.c ++++ gcl27-2.7.1/o/cmac.c +@@ -55,9 +55,9 @@ dblrem(int a, int b, int mod) + #else + + static int +-dblrem(a,b,mod) +-int a,b,mod; +-{int h,sign; ++dblrem(int a,int b,int mod) { ++ ++ int h,sign; + if (a<0) + {a= -a; sign= (b<0)? (b= -b,1) :-1;} + else { sign= (b<0) ? (b= -b,-1) : 1;} +--- gcl27-2.7.1.orig/o/eval.c ++++ gcl27-2.7.1/o/eval.c +@@ -66,15 +66,6 @@ object sSAbreak_stepA; + ({enum ftype _t=type;\ + _t==f_object ? a : (_t==f_fixnum ? make_fixnum((fixnum)a) : make_integer((GEN)a));}) + +-#include "apply_n.h" +- +-static object +-quick_call_function_vec(object fun,ufixnum n,object *b) { +- +- return c_apply_n_fun(fun,n,b); +- +-} +- + static object + quick_call_function_vec_coerce(object fun,ufixnum n,object *b) { + +@@ -704,7 +695,7 @@ APPLICATION: + ihs_check; + ihs_push(form); + ihs_top->ihs_base = lex_env; +- ((void (*)())fun->s.s_sfdef)(MMcdr(form)); ++ ((void (*)(object))fun->s.s_sfdef)(MMcdr(form)); + CHECK_AVMA; + ihs_pop(); + return; +--- gcl27-2.7.1.orig/o/fasdump.c ++++ gcl27-2.7.1/o/fasdump.c +@@ -29,7 +29,7 @@ static void + clrhash(object); + + +-object coerce_stream(); ++object coerce_stream(object,int); + static object fasd_patch_sharp(object x, int depth); + object make_pathname (); + +--- gcl27-2.7.1.orig/o/file.d ++++ gcl27-2.7.1/o/file.d +@@ -106,9 +106,7 @@ object LSP_string; + object sSAignore_eof_on_terminal_ioA; + + static bool +-feof1(fp) +-FILE *fp; +-{ ++feof1(FILE *fp) { + + #ifdef USE_READLINE + if (readline_on && fp==rl_instream && rl_line_buffer && *rl_line_buffer==EOF) +@@ -199,9 +197,8 @@ DEFUN("TERMINAL-INPUT-STREAM-P",object,f + but only checks the mode of the stream (sm_mode). + */ + static bool +-input_stream_p(strm) +-object strm; +-{ ++input_stream_p(object strm) { ++ + BEGIN: + switch (strm->sm.sm_mode) { + case smm_input: +@@ -256,9 +253,8 @@ BEGIN: + but only checks the mode of the stream (sm_mode). + */ + static bool +-output_stream_p(strm) +-object strm; +-{ ++output_stream_p(object strm) { ++ + BEGIN: + switch (strm->sm.sm_mode) { + case smm_input: +@@ -306,9 +302,8 @@ BEGIN: + } + + static object +-stream_element_type(strm) +-object strm; +-{ ++stream_element_type(object strm) { ++ + object x; + + BEGIN: +@@ -656,9 +651,8 @@ fLinteractive_stream_p(object x) { + #endif + + object +-make_two_way_stream(istrm, ostrm) +-object istrm, ostrm; +-{ ++make_two_way_stream(object istrm,object ostrm) { ++ + object strm; + + strm = alloc_object(t_stream); +@@ -673,9 +667,8 @@ object istrm, ostrm; + } + + static object +-make_echo_stream(istrm, ostrm) +-object istrm, ostrm; +-{ ++make_echo_stream(object istrm,object ostrm) { ++ + object strm; + + strm = make_two_way_stream(istrm, ostrm); +@@ -764,9 +757,8 @@ DEFUN("STRING-OUTPUT-STREAM-P",object,fS + } + + object +-make_string_output_stream(line_length) +-int line_length; +-{ ++make_string_output_stream(int line_length) { ++ + object strng, strm; + vs_mark; + +@@ -786,9 +778,8 @@ int line_length; + } + + static object +-get_output_stream_string(strm) +-object strm; +-{ ++get_output_stream_string(object strm) { ++ + object strng; + + strng = copy_simple_string(STRING_STREAM_STRING(strm)); +@@ -803,9 +794,8 @@ cannot_read(object); + static void + closed_stream(object); + int +-readc_stream(strm) +-object strm; +-{ ++readc_stream(object strm) { ++ + int c; + + BEGIN: +@@ -1515,9 +1505,8 @@ BEGIN: + } + + int +-file_position(strm) +-object strm; +-{ ++file_position(object strm) { ++ + BEGIN: + switch (strm->sm.sm_mode) { + case smm_input: +@@ -1564,10 +1553,8 @@ BEGIN: + } + + int +-file_position_set(strm, disp) +-object strm; +-int disp; +-{ ++file_position_set(object strm,int disp) { ++ + BEGIN: + switch (strm->sm.sm_mode) { + case smm_socket: +@@ -1615,9 +1602,8 @@ BEGIN: + } + + static int +-file_length(strm) +-object strm; +-{ ++file_length(object strm) { ++ + BEGIN: + switch (strm->sm.sm_mode) { + case smm_input: +@@ -2243,30 +2229,22 @@ LFD(siLcopy_stream)() + } + + static void +-cannot_open(fn) +-object fn; +-{ ++cannot_open(object fn) { + FILE_ERROR(fn,"Cannot open"); + } + + static void +-cannot_create(fn) +-object fn; +-{ ++cannot_create(object fn) { + FILE_ERROR(fn,"Cannot create"); + } + + static void +-cannot_read(strm) +-object strm; +-{ ++cannot_read(object strm) { + FEerror("Cannot read the stream ~S.", 1, strm); + } + + static void +-cannot_write(strm) +-object strm; +-{ ++cannot_write(object strm) { + FEerror("Cannot write to the stream ~S.", 1, strm); + } + +@@ -2285,9 +2263,8 @@ FFN(siLuser_stream_state)() + #endif + + static void +-closed_stream(strm) +-object strm; +-{ ++closed_stream(object strm) { ++ + if (!GET_STREAM_FLAG(strm,gcl_sm_had_error)) + { + SET_STREAM_FLAG(strm,gcl_sm_had_error,1); +@@ -2308,10 +2285,8 @@ object strm; + */ + + object +-coerce_stream(strm,out) +-object strm; +-int out; +-{ ++coerce_stream(object strm,int out) { ++ + BEGIN: + if (type_of(strm) != t_stream) + FEwrong_type_argument(sLstream, strm); +@@ -2416,10 +2391,8 @@ DEFUN("FREAD",object,fSfread,SI,4,4,NONE + of the buffer may be changed. + */ + static void +-putCharGclSocket(strm,ch) +- object strm; +- int ch; +-{ ++putCharGclSocket(object strm,int ch) { ++ + object bufp = SOCKET_STREAM_BUFFER(strm); + + AGAIN: +@@ -2435,10 +2408,8 @@ putCharGclSocket(strm,ch) + } + + static void +-gclFlushSocket(strm) +- object strm; ++gclFlushSocket(object strm) { + +-{ + int fd = SOCKET_STREAM_FD(strm); + object bufp = SOCKET_STREAM_BUFFER(strm); + int i=0; +@@ -2470,14 +2441,8 @@ gclFlushSocket(strm) + + static + object +-make_socket_stream(fd,mode,server,host,port,async) +-int fd; +-enum gcl_sm_flags mode; +-object server; +-object host; +-object port; +-object async; +-{ ++make_socket_stream(int fd,enum gcl_sm_flags mode,object server,object host,object port,object async) { ++ + object x; + if (fd < 0 ) + { +--- gcl27-2.7.1.orig/o/format.c ++++ gcl27-2.7.1/o/format.c +@@ -52,7 +52,7 @@ static void + fmt_semicolon(bool,bool); + + static void +-fmt_up_and_out(bool,bool); ++fmt_up_and_out(int,bool); + + static void + fmt_justification(volatile bool,bool); +@@ -347,7 +347,8 @@ format(object fmt_stream0, int ctl_origi + { + int c, n; + fixnum i,j,sn; +- bool colon, atsign; ++ int colon; ++ bool atsign; + object x; + fmt_paramp = fmt_param; + +@@ -2640,7 +2641,7 @@ fmt_justification(volatile bool colon, b + + + static void +-fmt_up_and_out(bool colon, bool atsign) ++fmt_up_and_out(int colon, bool atsign) + { + fixnum j,n; + object x[3]; +@@ -2720,7 +2721,8 @@ DEFUN("FORMAT",object,fLformat,LISP,2,F_ + va_list ap; + VOL object x = OBJNULL; + jmp_buf fmt_jmp_buf0; +- bool colon, e; ++ int colon; ++ bool e; + VOL fixnum nargs=INIT_NARGS(2); + + fmt_old; +--- gcl27-2.7.1.orig/o/funlink.c ++++ gcl27-2.7.1/o/funlink.c +@@ -225,8 +225,6 @@ clean_link_array(object *ar, object *ar_ + return(i*sizeof(object *)); + } + +-#include "apply_n.h" +- + DEFVAR("*FAST-LINK-WARNINGS*",sSAfast_link_warningsA,SI,Cnil,""); + + #include "pbits.h" +@@ -242,15 +240,14 @@ typedef union { + fw f; + } fu; + ++ + object +-call_proc_new(object sym,ufixnum clp,ufixnum vld,void **link,ufixnum argd,object first,va_list ll) { ++call_proc_new23(object sym,ufixnum clp,ufixnum vld,void **link,ufixnum argd,object *x) { + + object fun; + enum type tp; + ufixnum margs,nargs,fas,do_link,varg,pushed=0,nfargs; + fixnum vald; +- object *tmp,*x/* ,*p */; +- int i; + fu u; + + if (type_of(sym)==t_symbol) { +@@ -262,7 +259,7 @@ call_proc_new(object sym,ufixnum clp,ufi + tp=type_of(fun); + + u.i=vld; +- ++ + /* p=0; */ + if (u.f.pu) { + u.f.ma=vs_top-vs_base; +@@ -270,22 +267,12 @@ call_proc_new(object sym,ufixnum clp,ufi + /* p=vs_base; */ + pushed=1; + } +- ++ + margs=u.f.ma; + varg=u.f.va; + nargs=u.f.va ? abs(VFUN_NARGS) : margs; + nfargs=u.f.va && VFUN_NARGS<0 ? nargs-1 : nargs; + vald=!u.f.vv ? -(fixnum)u.f.nv : u.f.nv; +- +- x=tmp=(u.f.pu && !fun->fun.fun_argd && VFUN_NARGS>=fun->fun.fun_minarg) ? +- vs_base : ZALLOCA(nargs*sizeof(object)); +- +- if (tmp!=vs_base) { +- if (u.f.pu) +- memcpy(tmp,vs_base,nargs*sizeof(*tmp)); +- else for (i=0;is.s_dbind!=Cnil) +- sSin_call->s.s_gfdef->fun.fun_self(sym); ++ ((object (*)(object))sSin_call->s.s_gfdef->fun.fun_self)(sym); + + if (fas) { + +@@ -352,12 +339,12 @@ call_proc_new(object sym,ufixnum clp,ufi + } + + if (sSAprofilingA->s.s_dbind!=Cnil) +- sSout_call->s.s_gfdef->fun.fun_self(fSgettimeofday()); +- +- return(c_apply_n_fun(fun,x-tmp,tmp)); ++ ((object (*)(object))sSout_call->s.s_gfdef->fun.fun_self)(fSgettimeofday()); ++ ++ return(quick_call_function_vec(fun,nargs,x)); + + } else { +- ++ + object res; + register object *base,*old_top; + enum ftype result_type; +@@ -370,17 +357,17 @@ call_proc_new(object sym,ufixnum clp,ufi + if (vald || u.f.vv) larg=(fixnum)fcall.valp; + + if (!pushed) { +- ++ + object y; +- ++ + vs_base=vs_top; /*???*/ + + for (i=0;ic.c_cdr) + vs_push(y->c.c_car); +- ++ + vs_check; + + } +@@ -404,7 +391,7 @@ call_proc_new(object sym,ufixnum clp,ufi + base=vs_base; + old_top=vs_top; + funcall(fun); +- ++ + res=vs_base[0]; + if (larg) { + object *tmp=vs_base+1,*tl=(void *)larg,*tle=tl+labs(vald);/*FIXME avoid if pushed*/ +@@ -418,7 +405,7 @@ call_proc_new(object sym,ufixnum clp,ufi + vs_top=base; + + for (;--old_top>=vs_top && vs_top>=vs_org;) *old_top=Cnil; +- ++ + switch(result_type) { + case f_fixnum: + res=(object)fix(res); +@@ -426,49 +413,29 @@ call_proc_new(object sym,ufixnum clp,ufi + default: + break; + } +- ++ + if (sSAprofilingA->s.s_dbind!=Cnil) +- sSout_call->s.s_gfdef->fun.fun_self(fSgettimeofday()); ++ ((object (*)(object))sSout_call->s.s_gfdef->fun.fun_self)(fSgettimeofday()); + + return res; +- ++ + } + + } +-object +-call_proc_new_nval(object sym,ufixnum clp,ufixnum vld,void **link,ufixnum argd,object first,...) { +- object x; +- va_list b; +- va_start(b,first); +- x=call_proc_new(sym,clp,vld,link,argd,first,b); +- va_end(b); +- return x; +-} +- +-object +-call_proc_cs1(object fun,...) { +- register object res; +- ufixnum vald; +- va_list ap; +- va_start(ap,fun); +- vald=((31<<12)|(1<<17)|(1<<18)|(1<<20)); +- res=call_proc_new(fun,1,vald,0,0,0,ap); +- va_end(ap); +- return res; +-} +- + + object + call_proc_cs2(object first,...) { +- register object res; +- ufixnum vald; ++ ++ int i,nargs=abs(VFUN_NARGS); ++ object *x=alloca(nargs*sizeof(*x)); + va_list ap; +- object fun=fcall.fun; ++ + va_start(ap,first); +- vald=((31<<12)|(1<<17)|(1<<18)); +- res=call_proc_new(fun,1,vald,0,0,first,ap); ++ for (i=0;i0 ? mpz_cdiv_qr : mpz_tdiv_qr); ++ void (*f)(__mpz_struct *,__mpz_struct *,__mpz_struct *,__mpz_struct *)=d<0 ? mpz_fdiv_qr : (d>0 ? mpz_cdiv_qr : mpz_tdiv_qr); + f(MP(big_fixnum3),MP(big_fixnum4),b1,b2); + *rp=maybe_replace_big(big_fixnum4); + } else { +- void (*f)()=d<0 ? mpz_fdiv_q : (d>0 ? mpz_cdiv_q : mpz_tdiv_q); ++ void (*f)(__mpz_struct *,__mpz_struct *,__mpz_struct *)=d<0 ? mpz_fdiv_q : (d>0 ? mpz_cdiv_q : mpz_tdiv_q); + f(MP(big_fixnum3),b1,b2); + } + *qp=maybe_replace_big(big_fixnum3); + } else if (rp) { +- void (*f)()=d<0 ? mpz_fdiv_r : (d>0 ? mpz_cdiv_r : mpz_tdiv_r); ++ void (*f)(__mpz_struct *,__mpz_struct *,__mpz_struct *)=d<0 ? mpz_fdiv_r : (d>0 ? mpz_cdiv_r : mpz_tdiv_r); + f(MP(big_fixnum4),b1,b2); + *rp=maybe_replace_big(big_fixnum4); + } +--- gcl27-2.7.1.orig/o/list.d ++++ gcl27-2.7.1/o/list.d +@@ -32,9 +32,8 @@ Foundation, 675 Mass Ave, Cambridge, MA + + + object +-car(x) +-object x; +-{ ++car(object x) { ++ + if (x == Cnil) + return(x); + if (consp(x)) +@@ -44,9 +43,8 @@ object x; + } + + object +-cdr(x) +-object x; +-{ ++cdr(object x) { ++ + if (x == Cnil) + return(x); + if (consp(x)) +@@ -192,9 +190,8 @@ append(object x, object y) { + } + + object +-copy_list(x) +-object x; +-{ ++copy_list(object x) { ++ + object y; + + if (!consp(x)) +@@ -277,10 +274,10 @@ stack_list(void) { + + } + +-object on_stack_make_list(n) +-int n; +-{ object res=(object) alloca_val; +- struct cons *p = (struct cons *)res; ++object on_stack_make_list(int n) { ++ ++ object res=(object) alloca_val; ++ struct cons *p = (struct cons *)res; + if (n<=0) return Cnil; + TOP: + #ifdef WIDE_CONS +@@ -315,9 +312,8 @@ DEFUN("RPLACD",object,fLrplacd,LISP,2,2, + + + void +-check_proper_list(alist) +-object alist; +-{ ++check_proper_list(object alist) { ++ + object v; + /* + if (alist == Cnil) +@@ -336,9 +332,7 @@ DEFUN("PROPER-LISTP",object,fSproper_lis + + + bool +-member_eq(x, l) +-object x, l; +-{ ++member_eq(object x,object l) { + + for (; consp(l); l = l->c.c_cdr) + if (x == l->c.c_car) +@@ -347,9 +341,8 @@ object x, l; + } + + void +-delete_eq(x, lp) +-object x, *lp; +-{ ++delete_eq(object x,object *lp) { ++ + for (; consp(*lp); lp = &(*lp)->c.c_cdr) + if ((*lp)->c.c_car == x) { + *lp = (*lp)->c.c_cdr; +--- gcl27-2.7.1.orig/o/main.c ++++ gcl27-2.7.1/o/main.c +@@ -76,7 +76,7 @@ char stderr_buf[BUFSIZ + EXTRA_BUFSIZE]; + #include "stacks.h" + + int debug; /* debug switch */ +-int raw_image = TRUE; /* raw or saved image -- CYGWIN will only place this in .data and not in .bss if initialized to non-zero */ ++bool raw_image = TRUE; /* raw or saved image -- CYGWIN will only place this in .data and not in .bss if initialized to non-zero */ + bool GBC_enable=FALSE; + + long real_maxpage; +@@ -1434,7 +1434,7 @@ my_fprintf(void *v,const char *f,...) { + + #ifdef HAVE_FPRINTF_STYLED_FTYPE + static int +-my_fprintf_styled(void *v,enum disassembler_style,const char *f,...) { ++my_fprintf_styled(void *v,enum disassembler_style s,const char *f,...) { + va_list va; + int r; + va_start(va,f); +@@ -1463,25 +1463,24 @@ DEFUN("DISASSEMBLE-INSTRUCTION",object,f + #if defined(HAVE_DIS_ASM_H) && defined(OUTPUT_ARCH) + + static disassemble_info i; +- void *v; +- void * (*s)(); ++ void *v,*s; + fixnum j,j1,k; + object x; + + if ((v=dlopen("libopcodes.so",RTLD_NOW))) { + if ((s=dlsym(v,"init_disassemble_info"))) { +- s(&i, stdout,(fprintf_ftype)my_fprintf + #ifdef HAVE_FPRINTF_STYLED_FTYPE +- ,my_fprintf_styled ++ ((void * (*)(disassemble_info *,FILE *,fprintf_ftype,fprintf_styled_ftype))s)(&i,stdout,my_fprintf,my_fprintf_styled); ++#else ++ ((void * (*)(disassemble_info *,FILE *,fprintf_ftype))s)(&i,stdout,my_fprintf); + #endif +- ); + i.read_memory_func=my_read; + i.print_address_func=my_pa; + #if defined(OUTPUT_MACH) + i.mach=OUTPUT_MACH; + #endif + if ((s=dlsym(v,"disassembler"))) { +- disassembler_ftype disasm=(disassembler_ftype)(ufixnum)s(OUTPUT_ARCH,0,0,NULL); ++ disassembler_ftype disasm=((disassembler_ftype (*)(int,int,int,void *))s)(OUTPUT_ARCH,0,0,NULL); + bp=b; + disasm(addr,&i); + my_fprintf(NULL," ;"); +--- gcl27-2.7.1.orig/o/package.d ++++ gcl27-2.7.1/o/package.d +@@ -39,9 +39,8 @@ void check_type_or_symbol_string_package + + + static bool +-member_string_eq(x, l) +-object x, l; +-{ ++member_string_eq(object x,object l) { ++ + for (; consp(l); l = l->c.c_cdr) + if (string_eq(x, l->c.c_car)) + return(TRUE); +@@ -126,10 +125,7 @@ suitable_package_size(ufixnum n) + or package names i.e. strings or symbols. + */ + static object +-make_package(n, ns, ul,isize,esize) +-object n, ns, ul; +-int isize,esize; +-{ ++make_package(object n,object ns,object ul,int isize,int esize) { + + object x, y; + int i; +@@ -199,10 +195,7 @@ static void + use_package(object,object); + + static object +-in_package(n, ns, ul,isize,esize) +-object n, ns, ul; +-int isize,esize; +-{ ++in_package(object n,object ns,object ul,int isize,int esize) { + + object x, y; + vs_mark; +@@ -237,9 +230,7 @@ L: + } + + static object +-rename_package(x, n, ns) +-object x, n, ns; +-{ ++rename_package(object x,object n,object ns) { + + object y; + vs_mark; +@@ -278,9 +269,8 @@ object x, n, ns; + If not so, an error is signaled. + */ + object +-find_package(n) +-object n; +-{ ++find_package(object n) { ++ + struct package *p; + + check_package_designator(n); +@@ -291,9 +281,8 @@ object n; + } + + static object +-coerce_to_package(p) +-object p; +-{ ++coerce_to_package(object p) { ++ + object pp; + + if (type_of(p) == t_package) +@@ -327,9 +316,9 @@ current_package() + */ + + int +-pack_hash(x) +-object x; +-{unsigned int h=0; ++pack_hash(object x) { ++ ++ unsigned int h=0; + x=coerce_to_string(x); + {int len=VLEN(x); + char *s; +@@ -393,9 +382,8 @@ DEFUN("PACKAGE-EXTERNAL_SIZE",object,fSp + Intern(st, p) interns string st in package p. + */ + object +-intern(st, p) +-object st, p; +-{ ++intern(object st,object p) { ++ + int j; + object x, *ip, *ep, l, ul; + vs_mark; +@@ -450,9 +438,8 @@ object st, p; + Find_symbol(st, p) searches for string st in package p. + */ + object +-find_symbol(st, p) +-object st, p; +-{ ++find_symbol(object st,object p) { ++ + int j; + object *ip, *ep, l, ul; + {BEGIN_NO_INTERRUPT; +@@ -483,9 +470,8 @@ object st, p; + }} + + static bool +-unintern(s, p) +-object s, p; +-{ ++unintern(object s,object p) { ++ + object x, y, l, *lp; + int j; + {BEGIN_NO_INTERRUPT; +@@ -533,9 +519,8 @@ UNINTERN: + }} + + void +-export(s, p) +-object s, p; +-{ ++export(object s,object p) { ++ + object x; + int j; + object *ep, *ip, l; +@@ -578,9 +563,8 @@ BEGIN: + } + + static void +-unexport(s, p) +-object s, p; +-{ ++unexport(object s,object p) { ++ + object x, *ep, *ip; + int j; + +@@ -609,9 +593,8 @@ object s, p; + } + + void +-import(s, p) +-object s, p; +-{ ++import(object s,object p) { ++ + object x; + int j; + object *ip; +@@ -635,9 +618,8 @@ object s, p; + } + + static void +-shadowing_import(s, p) +-object s, p; +-{ ++shadowing_import(object s,object p) { ++ + object x, *ip; + + x=find_symbol(s, p); +@@ -668,9 +650,8 @@ object s, p; + } + + static void +-shadow(s, p) +-object s, p; +-{ ++shadow(object s,object p) { ++ + int j; + object *ip,x; + +@@ -692,9 +673,8 @@ object s, p; + } + + static void +-use_package(x0, p) +-object x0, p; +-{ ++use_package(object x0,object p) { ++ + object x = x0; + int i; + object y, l; +@@ -735,9 +715,8 @@ object x0, p; + } + + static void +-unuse_package(x0, p) +-object x0, p; +-{ ++unuse_package(object x0,object p) { ++ + object x = x0; + + BEGIN: +--- /dev/null ++++ gcl27-2.7.1/o/pre_qfv.c +@@ -0,0 +1,98 @@ ++#include "include.h" ++#include "arth.h" ++ ++#define EMPTY() ++#define DEFER(id) id EMPTY() ++ ++#define EVAL(...) EVAL64(__VA_ARGS__) ++#define EVAL64(...) EVAL32(EVAL32(__VA_ARGS__)) ++#define EVAL32(...) EVAL16(EVAL16(__VA_ARGS__)) ++#define EVAL16(...) EVAL8(EVAL8(__VA_ARGS__)) ++#define EVAL8(...) EVAL4(EVAL4(__VA_ARGS__)) ++#define EVAL4(...) EVAL2(EVAL2(__VA_ARGS__)) ++#define EVAL2(...) EVAL1(EVAL1(__VA_ARGS__)) ++#define EVAL1(...) __VA_ARGS__ ++ ++#define minus(a,b) M_ ## a ## _ ## b ++#define MINUS(a,b) minus(a,b) ++#define DEC(n) MINUS(n,1) ++ ++#define SECOND(a, b, ...) b ++#define IS_ONE_PROXY(...) SECOND(__VA_ARGS__) ++#define IS_ONE_1 ~, 1 ++#define IS_ONE_CHECK(n) IS_ONE_PROXY(Mjoin(IS_ONE_, n), 0) ++ ++#define GCNT_0(P,n,m) , DEFER(GCNT_ID)()(P,n,m) ++#define GCNT_1(P,n,m) ++#define GCNT_ID() GCNT ++ ++#define GCNT(P,n,m) P(n,m) Mjoin(GCNT_,IS_ONE_CHECK(n))(P,DEC(n),m) ++#define PPP1(n,m) object ++#define PPP2(n,m) x[MINUS(m,n)] ++#define CSTCL(m,n) case n*(MAX_ARGS+1)+m: return ((object (*)(GCNT(PPP1,m,m),...))f)(GCNT(PPP2,n,n)); ++ ++#define OGCNT_0(P,n,m) DEFER(OGCNT_ID)()(P,n,m) ++#define OGCNT_1(P,n,m) ++#define OGCNT_ID() OGCNT ++ ++#define OGCNT(P,n,m) P(n,m) Mjoin(OGCNT_,IS_ONE_CHECK(n))(P,DEC(n),m) ++#define OWLK(m,n) OGCNT(CSTCL,m,m) ++ ++#define PGCNT_0(P,n,m) DEFER(PGCNT_ID)()(P,n,m) ++#define PGCNT_1(P,n,m) ++#define PGCNT_ID() PGCNT ++ ++#define PGCNT(P,n,m) P(n,m) Mjoin(PGCNT_,IS_ONE_CHECK(n))(P,DEC(n),m) ++#define IPGCNT(P,n) PGCNT(P,n,n) ++ ++ufixnum maxargs_for_awk=MAX_ARGS; ++ ++static inline object ++vc_apply_n(void *f, int n, object *x) { ++ ++ ++ switch (n) { ++ ++ case 0*(MAX_ARGS+1)+1: return ((object (*)(object ,...))f)(OBJNULL); ++ ++ /* EVAL(IPGCNT(OWLK,MAX_ARGS)) Too much memory on 32bit systems*/ ++ awk_generated_vc_apply_n_lines; ++ ++ default: FEerror("vc bar ~s",1,make_fixnum(n)); ++ ++ } ++ ++} ++ ++#define RCSTCL(m,n) case m: return ((object (*)(GCNT(PPP1,m,m)))f)(GCNT(PPP2,m,m)); ++#define PWLK(m,n) RCSTCL(m,m) ++ ++static inline object ++rc_apply_n(void *f, int n, object *x) { ++ ++ switch (n) { ++ ++ /* EVAL(IPGCNT(PWLK,MAX_ARGS)) Too much memory on 32bit systems*/ ++ awk_generated_rc_apply_n_lines; ++ ++ default: FEerror("rc bar ~s",1,make_fixnum(n)); ++ ++ } ++ ++} ++ ++static inline object ++c_apply_n_fun(object fun,int n,object *b) { ++ ++ return fun->fun.fun_minargfun.fun_maxarg ? ++ vc_apply_n(fun->fun.fun_self,n*(MAX_ARGS+1)+(fun->fun.fun_minarg ? fun->fun.fun_minarg : 1),b) : ++ rc_apply_n(fun->fun.fun_self,n,b); ++ ++} ++ ++object ++quick_call_function_vec(object fun,ufixnum n,object *b) { ++ ++ return c_apply_n_fun(fun,n,b); ++ ++} +--- gcl27-2.7.1.orig/o/print.d ++++ gcl27-2.7.1/o/print.d +@@ -156,9 +156,8 @@ static void + write_decimal1(int); + + static void +-write_decimal(i) +-int i; +-{ ++write_decimal(int i) { ++ + if (i == 0) { + write_ch('0'); + return; +@@ -623,17 +622,15 @@ writec_queue(int c,void *v) { + + + void +-write_str(s) +-char *s; +-{ ++write_str(char *s) { ++ + while (*s != '\0') + write_ch(*s++); + } + + static void +-write_decimal1(i) +-int i; +-{ ++write_decimal1(int i) { ++ + if (i == 0) + return; + write_decimal1(i/10); +@@ -641,9 +638,8 @@ int i; + } + + static void +-write_addr(x) +-object x; +-{ ++write_addr(object x) { ++ + long i; + int j, k; + +@@ -799,11 +795,8 @@ write_unreadable_str(object x,char *str) + } + + static void +-write_double(d, e, shortp) +-double d; +-int e; +-bool shortp; +-{ ++write_double(double d,int e,bool shortp) { ++ + int sign; + char buff[FPRC+5]; + int exp; +@@ -1847,10 +1840,8 @@ travel_find_sharing(object x,object tabl + } + + static bool +-potential_number_p(strng, base) +-object strng; +-int base; +-{ ++potential_number_p(object strng,int base) { ++ + int i, l, c, dc; + char *s; + +--- gcl27-2.7.1.orig/o/read.d ++++ gcl27-2.7.1/o/read.d +@@ -261,9 +261,8 @@ setup_READ() + } + + object +-read_char(in) +-object in; +-{ ++read_char(object in) { ++ + return(code_char(readc_stream(in))); + } + +@@ -286,9 +285,8 @@ read_char_no_echo(object in) { + #define read_char(in) code_char(readc_stream(in)) + + static void +-unread_char(c, in) +-object c, in; +-{ ++unread_char(object c,object in) { ++ + if (type_of(c) != t_character) + FEwrong_type_argument(sLcharacter, c); + unreadc_stream(char_code(c), in); +@@ -299,10 +297,8 @@ object c, in; + When pt is TRUE, preceeding whitespaces are ignored. + */ + object +-peek_char(pt, in) +-bool pt; +-object in; +-{ ++peek_char(bool pt,object in) { ++ + object c; + + if (pt) { +@@ -320,9 +316,8 @@ object in; + + + static object +-read_object_recursive(in) +-object in; +-{ ++read_object_recursive(object in) { ++ + VOL object x; + bool e; + +@@ -388,9 +383,8 @@ L: + + + object +-read_object_non_recursive(in) +-object in; +-{ ++read_object_non_recursive(object in) { ++ + VOL object x; + bool e; + object old_READtable; +@@ -509,9 +503,8 @@ L: + */ + + object +-read_object(in) +-object in; +-{ ++read_object(object in) { ++ + object x; + object c=Cnil; + enum chattrib a; +@@ -801,10 +794,8 @@ ENDUP: + Delim is not included in the string but discarded. + */ + static void +-read_string(delim, in) +-int delim; +-object in; +-{ ++read_string(int delim,object in) { ++ + int i; + object c; + +@@ -828,9 +819,8 @@ object in; + and places it in token_buffer. + */ + static void +-read_constituent(in) +-object in; +-{ ++read_constituent(object in) { ++ + int i, j; + object c; + +@@ -2159,9 +2149,8 @@ DEFUNM("PARSE-INTEGER-INT",object,fSpars + /* } */ + + object +-read_char1(strm,eof) +-object strm,eof; +-{ ++read_char1(object strm,object eof) { ++ + if (strm == Cnil) + strm = symbol_value(sLAstandard_inputA); + else if (strm == Ct) +@@ -2340,9 +2329,8 @@ DEFUN("SET-READTABLE-CASE",object,fSset_ + @) + + static object +-string_to_object(x) +-object x; +-{ ++string_to_object(object x) { ++ + object in; + vs_mark; + +--- gcl27-2.7.1.orig/o/run_process.c ++++ gcl27-2.7.1/o/run_process.c +@@ -374,10 +374,8 @@ static char *lisp_to_string(object strin + * for a service on the same host as the clinet. + * + */ +-static int open_connection(host,server) +-char *host; +-int server; +-{ ++static int open_connection(char *host,int server) { ++ + int res; + int pid; + int sock; +@@ -430,11 +428,8 @@ int server; + return(sock); + } + +-object make_stream(host_l,socket,smm) +-object host_l; +-int socket; +-enum smmode smm; +-{ ++object make_stream(object host_l,int socket,enum smmode smm) { ++ + char *mode=NULL; + object stream; + FILE *fp; +@@ -470,10 +465,8 @@ enum smmode smm; + } + + object +-make_socket_stream(host_l,port) +-object host_l; +-object port; +-{ ++make_socket_stream(object host_l,object port) { ++ + char *host = lisp_to_string(host_l); + object stream_in; + object stream_out; +@@ -574,8 +567,6 @@ spawn_process_with_streams(object istrea + close(fileno(istream->sm.sm_fp)); + close(fileno(ostream->sm.sm_fp)); + +- emsg("\n***** Spawning process %s ", pname); +- + errno=0; + execvp(pname,argv); + _exit(128|(errno&0x7f)); +--- gcl27-2.7.1.orig/o/sequence.d ++++ gcl27-2.7.1/o/sequence.d +@@ -269,9 +269,8 @@ LFD(Lcopy_seq)() + } + + int +-length(x) +-object x; +-{ ++length(object x) { ++ + int i; + + switch (type_of(x)) { +@@ -317,9 +316,8 @@ LFD(Lreverse)() + } + + object +-reverse(seq) +-object seq; +-{ ++reverse(object seq) { ++ + object x, y, *v; + int i, j, k; + +@@ -430,9 +428,8 @@ LFD(Lnreverse)() + } + + object /*FIXME boot*/ +-nreverse(seq) +-object seq; +-{ ++nreverse(object seq) { ++ + object x, y, z; + int i, j, k; + +--- gcl27-2.7.1.orig/o/sockets.c ++++ gcl27-2.7.1/o/sockets.c +@@ -53,9 +53,6 @@ Foundation, 675 Mass Ave, Cambridge, MA + + #include + +-static void write_timeout_error(); +-static void connection_failure(); +- + #ifdef __MINGW32__ + /* Keep track of socket initialisations */ + int w32_socket_initialisations = 0; +@@ -554,15 +551,13 @@ DEFUN("CLEAR-CONNECTION-STATE",object,fS + #endif + + static void +-write_timeout_error(s) +- char *s; +-{FEerror("Write timeout: ~s",1,make_simple_string(s)); ++write_timeout_error(char *s) { ++ FEerror("Write timeout: ~s",1,make_simple_string(s)); + } + + static void +-connection_failure(s) +- char *s; +-{FEerror("Connect failure: ~s",1,make_simple_string(s)); ++connection_failure(char *s) { ++ FEerror("Connect failure: ~s",1,make_simple_string(s)); + } + + +--- gcl27-2.7.1.orig/o/string.d ++++ gcl27-2.7.1/o/string.d +@@ -82,9 +82,8 @@ alloc_simple_string(fixnum l) { + Make_simple_string(s) makes a simple string from C string s. + */ + object +-make_simple_string(s) +-const char *s; +-{ ++make_simple_string(const char *s) { ++ + int l, i; + char *p; + object x; +@@ -103,9 +102,8 @@ const char *s; + } + + object +-make_string(s) +-char *s; +-{ ++make_string(char *s) { ++ + int l, i; + char *p; + object x; +@@ -128,9 +126,8 @@ char *s; + This correponds to string= (just the string equality). + */ + bool +-string_eq(x, y) +-object x, y; +-{ ++string_eq(object x,object y) { ++ + int i, j; + + +@@ -151,9 +148,8 @@ object x, y; + (string equality ignoring the case). + */ + bool +-string_equal(x, y) +-object x, y; +-{ ++string_equal(object x,object y) { ++ + int i, j; + char *p, *q; + +@@ -178,9 +174,8 @@ object x, y; + Copy_simple_string(x) copies string x to a simple string. + */ + object +-copy_simple_string(x) +-object x; +-{ ++copy_simple_string(object x) { ++ + object y; + int i; + vs_mark; +@@ -205,9 +200,8 @@ object x; + } + + object +-copy_string(x) +-object x; +-{ ++copy_string(object x) { ++ + object y; + int i; + vs_mark; +@@ -238,9 +232,8 @@ object x; + } + + object +-coerce_to_string(x) +-object x; +-{ ++coerce_to_string(object x) { ++ + object y; + vs_mark; + +@@ -276,10 +269,8 @@ object x; + + + void +-get_string_start_end(str, start, end, ps, pe) +-object str, start, end; +-int *ps, *pe; +-{ ++get_string_start_end(object str,object start,object end,int *ps,int *pe) { ++ + if (start == Cnil) + *ps = 0; + else if (type_of(start) != t_fixnum) +@@ -458,10 +449,7 @@ LFD(Lstring_not_equal)() { string_sign + @) + + static bool +-member_char(c, char_bag) +-int c; +-object char_bag; +-{ ++member_char(int c,object char_bag) { + + int i, f; + +@@ -533,27 +521,24 @@ LFD(Lstring_trim)() { left_trim = right_ + LFD(Lstring_left_trim)() { left_trim = TRUE; right_trim = FALSE; FFN(Lstring_trim0)(); } + LFD(Lstring_right_trim)() { left_trim = FALSE; right_trim = TRUE; FFN(Lstring_trim0)();} + +-static int char_upcase(c, bp) +-int c, *bp; +-{ ++static int char_upcase(int c,int *bp) { ++ + if (isLower(c)) + return(c - ('a' - 'A')); + else + return(c); + } + +-static int char_downcase(c, bp) +-int c, *bp; +-{ ++static int char_downcase(int c,int *bp) { ++ + if (isUpper(c)) + return(c + ('a' - 'A')); + else + return(c); + } + +-static int char_capitalize(c, bp) +-int c, *bp; +-{ ++static int char_capitalize(int c,int *bp) { ++ + if (isLower(c)) { + if (*bp) + c -= 'a' - 'A'; +@@ -571,7 +556,7 @@ int c, *bp; + + @(static defun string_case (strng &key start end &aux conv) + int s=0, e=0, i; +- bool b; ++ int b; + @ + strng = coerce_to_string(strng); + get_string_start_end(strng, start, end, &s, &e); +@@ -590,7 +575,7 @@ LFD(Lstring_capitalize)() { casefun = ch + + @(static defun nstring_case (strng &key start end) + int s=0, e=0, i; +- bool b; ++ int b; + @ + check_type_string(&strng); + get_string_start_end(strng, start, end, &s, &e); +--- gcl27-2.7.1.orig/o/symbol.d ++++ gcl27-2.7.1/o/symbol.d +@@ -40,9 +40,8 @@ odd_plist(object); + object siSpname; + + object +-make_symbol(st) +-object st; +-{ ++make_symbol(object st) { ++ + object x; + + {BEGIN_NO_INTERRUPT; +@@ -70,9 +69,8 @@ object st; + + + object +-make_ordinary(s) +-char *s; +-{ ++make_ordinary(char *s) { ++ + int j; + object x, l, *ep; + vs_mark; +@@ -96,10 +94,8 @@ char *s; + with initial value v in lisp package. + */ + object +-make_special(s, v) +-char *s; +-object v; +-{ ++make_special(char *s,object v) { ++ + object x; + + x = make_ordinary(s); +@@ -113,10 +109,8 @@ object v; + with constant value v in lisp package. + */ + object +-make_constant(s, v) +-char *s; +-object v; +-{ ++make_constant(char *s,object v) { ++ + object x; + + x = make_ordinary(s); +@@ -134,9 +128,8 @@ object v; + + + object +-make_si_ordinary(s) +-char *s; +-{ ++make_si_ordinary(char *s) { ++ + int j; + object x, l, *ep; + vs_mark; +@@ -161,9 +154,8 @@ char *s; + } + + object +-make_gmp_ordinary(s) +-char *s; +-{ ++make_gmp_ordinary(char *s) { ++ + int i,j; + object x, l, *ep; + vs_mark; +@@ -196,10 +188,8 @@ char *s; + with initial value v in system package. + */ + object +-make_si_special(s, v) +-char *s; +-object v; +-{ ++make_si_special(char *s,object v) { ++ + object x; + + x = make_si_ordinary(s); +@@ -213,25 +203,23 @@ object v; + with constant value v in system package. + */ + object +-make_si_constant(s, v) +-char *s; +-object v; +-{ ++make_si_constant(char *s,object v) { ++ + object x; + + x = make_si_ordinary(s); + x->s.s_stype = (short)stp_constant; + x->s.s_dbind = v; + return(x); ++ + } + + /* + Make_keyword(s) makes a keyword from C string s. + */ + object +-make_keyword(s) +-char *s; +-{ ++make_keyword(char *s) { ++ + int j; + object x, l, *ep; + vs_mark; +@@ -254,9 +242,8 @@ char *s; + } + + object +-symbol_value(s) +-object s; +-{ ++symbol_value(object s) { ++ + /* + if (type_of(s) != t_symbol) + FEinvalid_variable("~S is not a symbol.", s); +@@ -267,9 +254,7 @@ object s; + } + + object +-getf(place, indicator, deflt) +-object place, indicator, deflt; +-{ ++getf(object place,object indicator,object deflt) { + + object l; + #define cendp(obj) ((!consp(obj))) +@@ -285,9 +270,8 @@ object place, indicator, deflt; + } + + object +-get(s, p, d) +-object s, p, d; +-{ ++get(object s,object p,object d) { ++ + if (type_of(s) != t_symbol) + not_a_symbol(s); + return(getf(s->s.s_plist, p, d)); +@@ -298,9 +282,8 @@ object s, p, d; + and returns the resulting property list. + */ + object +-putf(p, v, i) +-object p, v, i; +-{ ++putf(object p,object v,object i) { ++ + object l; + + for (l = p; !cendp(l); l = l->c.c_cdr->c.c_cdr) { +@@ -316,9 +299,8 @@ object p, v, i; + } + + object +-putprop(s, v, p) +-object s, v, p; +-{ ++putprop(object s,object v,object p) { ++ + if (type_of(s) != t_symbol) + not_a_symbol(s); + s->s.s_plist = putf(s->s.s_plist, v, p); +@@ -350,9 +332,8 @@ fSsputprop(object x,object y,object z) { + FALSE otherwise. + */ + bool +-remf(p, i) +-object *p, i; +-{ ++remf(object *p,object i) { ++ + object l0 = *p; + + for(; !endp(*p); p = &(*p)->c.c_cdr->c.c_cdr) { +@@ -367,9 +348,8 @@ object *p, i; + } + + object +-remprop(s, p) +-object s, p; +-{ ++remprop(object s,object p) { ++ + if (type_of(s) != t_symbol) + not_a_symbol(s); + if (remf(&s->s.s_plist, p)) +@@ -379,9 +359,8 @@ object s, p; + } + + bool +-keywordp(s) +-object s; +-{ ++keywordp(object s) { ++ + return(type_of(s) == t_symbol && s->s.s_hpack == keyword_package); + /* + if (type_of(s) != t_symbol) { +@@ -445,11 +424,11 @@ DEFUN("SYMBOL-STRING",object,fSsymbol_st + + + object +-symbol_name(x) +-object x; +-{ ++symbol_name(object x) { ++ + if (type_of(x)!=t_symbol) FEwrong_type_argument(sLsymbol,x); + return(x->s.s_name); ++ + } + + DEFUN("SYMBOL-NAME",object,fLsymbol_name,LISP,1,1,NONE,OO,OO,OO,OO,(object sym),"") { +@@ -674,9 +653,7 @@ LFD(siLputprop)() + + + static void +-odd_plist(place) +-object place; +-{ ++odd_plist(object place) { + FEerror("The length of the property-list ~S is odd.", 1, place); + } + +--- gcl27-2.7.1.orig/o/toplevel.c ++++ gcl27-2.7.1/o/toplevel.c +@@ -188,8 +188,7 @@ FFN(Fload_time_value)(object arg) + + } + +-static void +-FFN(Fdeclare)(object arg) ++LFD(Fdeclare)(void) + { + FEerror("DECLARE appeared in an invalid position.", 0); + } +--- gcl27-2.7.1.orig/o/unexelf.c ++++ gcl27-2.7.1/o/unexelf.c +@@ -583,9 +583,8 @@ typedef unsigned char byte; + /* Round X up to a multiple of Y. */ + + static ElfW(Addr) +-round_up (x, y) +- ElfW(Addr) x, y; +-{ ++round_up (ElfW(Addr) x,ElfW(Addr) y) { ++ + int rem = x % y; + if (rem == 0) + return x; +--- gcl27-2.7.1.orig/o/usig.c ++++ gcl27-2.7.1/o/usig.c +@@ -47,11 +47,10 @@ Foundation, 675 Mass Ave, Cambridge, MA + + extern char signals_handled[]; + +-void +-main_signal_handler(int,siginfo_t,void *); ++extern handler_function_type main_signal_handler; + + void +-gcl_signal(int signo, void (*handler) (/* ??? */)) ++gcl_signal(int signo, void (*handler)(int,long,void *,char *)) + { + char *p = signals_handled; + while (*p) +@@ -66,7 +65,7 @@ gcl_signal(int signo, void (*handler) (/ + + #ifdef HAVE_SIGACTION + struct sigaction action; +- action.sa_sigaction = handler; ++ action.sa_sigaction = (void *)handler; + /* action.sa_flags = SA_RESTART | ((signo == SIGSEGV || signo == SIGBUS) ? SV_ONSTACK : 0) */ + action.sa_flags = SA_RESTART | ((signo == SIGSEGV || signo == SIGBUS) ? SA_ONSTACK : 0) + #ifdef SA_SIGINFO +@@ -178,7 +177,7 @@ DEFUN("FEENABLEEXCEPT",object,fSfeenable + + DEFUN("FEDISABLEEXCEPT",object,fSfedisableexcept,SI,0,0,NONE,IO,OO,OO,OO,(void),"") { + +- fixnum x; ++ fixnum x=0; + + #ifdef HAVE_FEENABLEEXCEPT + +@@ -228,8 +227,9 @@ DEFUN("STMXCSR",object,fSstmxcsr,SI,0,0, + + + static void +-sigfpe3(int sig,siginfo_t *i,void *v) { ++sigfpe3(int sig,long li,void *v,char *c) { + ++ siginfo_t *i=(void *)li; + unblock_signals(SIGFPE,SIGFPE); + #ifdef __MINGW32__ + gcl_signal(SIGFPE,sigfpe3); +@@ -255,7 +255,7 @@ DEFCONST("+FE-LIST+",sSPfe_listP,SI,list + DEF_ORDINARY("FLOATING-POINT-ERROR",sSfloating_point_error,SI,""); + + static void +-sigpipe(int s,siginfo_t *a,void *b) ++sigpipe(int s,long la,void *b,char *c) + { + unblock_signals(SIGPIPE,SIGPIPE); + perror(""); +@@ -263,14 +263,14 @@ sigpipe(int s,siginfo_t *a,void *b) + } + + void +-sigint(int s,siginfo_t *a,void *b) ++sigint(int s,long la,void *b,char *c) + { + unblock_signals(SIGINT,SIGINT); + terminal_interrupt(1); + } + + static void +-sigalrm(int s,siginfo_t *a,void *b) ++sigalrm(int s,long a,void *b,char *c) + { + unblock_signals(SIGALRM,SIGALRM); + raise_pending_signals(sig_try_to_delay); +@@ -282,7 +282,7 @@ DEF_ORDINARY("SIGUSR1-INTERRUPT",sSsigus + DEF_ORDINARY("SIGIO-INTERRUPT",sSsigio_interrupt,SI,""); + + static void +-sigusr1(int s,siginfo_t *a,void *b) { ++sigusr1(int s,long a,void *b,char *c) { + + unblock_signals(SIGUSR1,SIGUSR1); + ifuncall1(sSsigusr1_interrupt,Cnil); +@@ -290,12 +290,12 @@ sigusr1(int s,siginfo_t *a,void *b) { + } + + static void +-sigio(int s,siginfo_t *a,void *b) ++sigio(int s,long a,void *b,char *c) + {ifuncall1(sSsigio_interrupt,Cnil);} + + + static void +-sigterm(int s,siginfo_t *a,void *b) ++sigterm(int s,long la,void *b,char *c) + {do_gcl_abort();} + + +--- gcl27-2.7.1.orig/o/usig2.c ++++ gcl27-2.7.1/o/usig2.c +@@ -167,7 +167,7 @@ only in very SAFE places.") + + + void +-main_signal_handler(int signo,siginfo_t *a,void *b) ++main_signal_handler(int signo,long a,void *b,char *c) + { int allowed = signals_allowed; + #ifdef NEED_TO_REINSTALL_SIGNALS + signal(signo,main_signal_handler); +@@ -201,7 +201,7 @@ invoke_handler(int signo, int allowed) + {int prev_in_handler = in_signal_handler; + in_signal_handler |= (allowed <= sig_normal ? 1 : 0); + signals_allowed = allowed; +- our_signal_handler[signo](signo,0,0); ++ our_signal_handler[signo](signo,0,0,0); + signals_allowed = 0; + in_signal_handler = prev_in_handler; + after_interrupt(&buf,allowed); +--- gcl27-2.7.1.orig/texinfo.tex ++++ gcl27-2.7.1/texinfo.tex +@@ -1,11 +1,11 @@ + % texinfo.tex -- TeX macros to handle Texinfo files. +-% ++% + % Load plain if necessary, i.e., if running under initex. + \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi + % +-\def\texinfoversion{2024-02-10.22} ++\def\texinfoversion{2025-10-25.20} + % +-% Copyright 1985, 1986, 1988, 1990-2024 Free Software Foundation, Inc. ++% Copyright 1985, 1986, 1988, 1990-2025 Free Software Foundation, Inc. + % + % This texinfo.tex file is free software: you can redistribute it and/or + % modify it under the terms of the GNU General Public License as +@@ -156,8 +156,9 @@ + % Give the space character the catcode for a space. + \def\spaceisspace{\catcode`\ =10\relax} + +-% Likewise for ^^M, the end of line character. +-\def\endlineisspace{\catcode13=10\relax} ++% Used to ignore an active newline that may appear immediately after ++% a macro name. ++{\catcode13=\active \gdef\ignoreactivenewline{\let^^M\empty}} + + \chardef\dashChar = `\- + \chardef\slashChar = `\/ +@@ -212,7 +213,7 @@ + % @errormsg{MSG}. Do the index-like expansions on MSG, but if things + % aren't perfect, it's not the end of the world, being an error message, + % after all. +-% ++% + \def\errormsg{\begingroup \indexnofonts \doerrormsg} + \def\doerrormsg#1{\errmessage{#1}} + +@@ -286,7 +287,6 @@ + % Avoid "undefined control sequence" errors. + \def\currentchapterdefs{} + \def\currentsectiondefs{} +-\def\currentsection{} + \def\prevchapterdefs{} + \def\prevsectiondefs{} + \def\currentcolordefs{} +@@ -425,7 +425,7 @@ + }% + } + +-% First remove any @comment, then any @c comment. Pass the result on to ++% First remove any @comment, then any @c comment. Pass the result on to + % \argremovespace. + \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} + \def\argremovec#1\c#2\ArgTerm{\argremovespace#1$ $\ArgTerm} +@@ -483,8 +483,8 @@ + % \envdef\foo{...} + % \def\Efoo{...} + % +-% It's the responsibility of \envdef to insert \begingroup before the +-% actual body; @end closes the group after calling \Efoo. \envdef also ++% \envdef inserts \begingroup before the actual body; @end calls ++% \Efoo then closes the group with \endgroup. \envdef also + % defines \thisenv, so the current environment is known; @end checks + % whether the environment name matches. The \checkenv macro can also be + % used to check whether the current environment is the one expected. +@@ -951,8 +951,16 @@ where each line of input produces a line + \let\setfilename=\comment + + % @bye. +-\outer\def\bye{\chappager\pagelabels\tracingstats=1\ptexend} +- ++\outer\def\bye{% ++ \chappager\pagelabels ++ % possibly set in \printindex ++ \ifx\byeerror\relax\else\errmessage{\byeerror}\fi ++ \tracingstats=1\ptexend} ++ ++% set in \donoderef below, but we need to define this here so that ++% conditionals balance inside the large \ifpdf ... \fi blocks below. ++\newif\ifnodeseen ++\nodeseenfalse + + \message{pdf,} + % adobe `portable' document format +@@ -971,15 +979,52 @@ where each line of input produces a line + \newif\ifpdf + \newif\ifpdfmakepagedest + ++% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1 ++% can be set). So we test for \relax and 0 as well as being undefined. ++\ifx\pdfoutput\thisisundefined ++\else ++ \ifx\pdfoutput\relax ++ \else ++ \ifcase\pdfoutput ++ \else ++ \pdftrue ++ \fi ++ \fi ++\fi ++ ++\newif\ifxetex ++\ifx\XeTeXrevision\thisisundefined\else ++ \xetextrue ++\fi ++ ++\newif\ifluatex ++\ifx\luatexversion\thisisundefined\else ++ \luatextrue ++ \ifnum\luatexversion>84 ++ \pdftrue ++ \fi ++\fi ++ ++\newif\ifpdforxetex ++\ifpdf ++ \pdforxetextrue ++\fi ++\ifxetex ++ \pdforxetextrue ++\fi ++ ++ ++ ++% Whether to use non-ASCII bytes in internal link targets. Presently this ++% is almost always on. ++\newif\iftxiuseunicodedestname ++\txiuseunicodedestnametrue ++ + % + % For LuaTeX + % + +-\newif\iftxiuseunicodedestname +-\txiuseunicodedestnamefalse % For pdfTeX etc. +- +-\ifx\luatexversion\thisisundefined +-\else ++\ifluatex + % Use Unicode destination names + \txiuseunicodedestnametrue + % Escape PDF strings with converting UTF-16 from UTF-8 +@@ -1026,13 +1071,13 @@ where each line of input produces a line + end + end + } +- % The -2 in the arguments here gives all the input to TeX catcode 12 +- % (other) or 10 (space), preventing undefined control sequence errors. See ++ % The -2 in the arguments here gives all the input to TeX catcode 12 ++ % (other) or 10 (space), preventing undefined control sequence errors. See + % https://lists.gnu.org/archive/html/bug-texinfo/2019-08/msg00031.html + % + \endgroup + \def\pdfescapestring#1{\directlua{PDFescstr('\luaescapestring{#1}')}} +- \ifnum\luatexversion>84 ++ \ifpdf + % For LuaTeX >= 0.85 + \def\pdfdest{\pdfextension dest} + \let\pdfoutput\outputmode +@@ -1055,28 +1100,6 @@ where each line of input produces a line + \fi + \fi + +-% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1 +-% can be set). So we test for \relax and 0 as well as being undefined. +-\ifx\pdfoutput\thisisundefined +-\else +- \ifx\pdfoutput\relax +- \else +- \ifcase\pdfoutput +- \else +- \pdftrue +- \fi +- \fi +-\fi +- +-\newif\ifpdforxetex +-\pdforxetexfalse +-\ifpdf +- \pdforxetextrue +-\fi +-\ifx\XeTeXrevision\thisisundefined\else +- \pdforxetextrue +-\fi +- + + % Output page labels information. + % See PDF reference v.1.7 p.594, section 8.3.1. +@@ -1129,7 +1152,7 @@ where each line of input produces a line + % for display in the outlines, and in other places. Thus, we have to + % double any backslashes. Otherwise, a name like "\node" will be + % interpreted as a newline (\n), followed by o, d, e. Not good. +-% ++% + % See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and + % related messages. The final outcome is that it is up to the TeX user + % to double the backslashes and otherwise make the string valid, so +@@ -1163,58 +1186,90 @@ with PDF output, and none of those forma + be supported due to the design of the PDF format; use regular TeX (DVI + output) for that.)} + ++% definitions for pdftex or luatex with pdf output + \ifpdf ++ % Strings in PDF outlines can either be ASCII, or encoded in UTF-16BE ++ % with BOM. Unfortunately there is no simple way with pdftex to output ++ % UTF-16, so we have to do some quite convoluted expansion games if we ++ % find the string contains a non-ASCII codepoint if we want these to ++ % display correctly. We generated the UTF-16 sequences in ++ % \DeclareUnicodeCharacter and we access them here. + % +- % Color manipulation macros using ideas from pdfcolor.tex, +- % except using rgb instead of cmyk; the latter is said to render as a +- % very dark gray on-screen and a very dark halftone in print, instead +- % of actual black. The dark red here is dark enough to print on paper as +- % nearly black, but still distinguishable for online viewing. We use +- % black by default, though. +- \def\rgbDarkRed{0.50 0.09 0.12} +- \def\rgbBlack{0 0 0} ++ \def\defpdfoutlinetextunicode#1{% ++ \def\pdfoutlinetext{#1}% ++ % ++ % Make UTF-8 sequences expand to UTF-16 definitions. ++ \passthroughcharsfalse \utfbytespdftrue ++ \utfviiidefinedwarningfalse ++ % ++ % Completely expand, eliminating any control sequences such as \code, ++ % leaving only possibly \utfbytes. ++ \let\utfbytes\relax ++ \pdfaccentliterals ++ \xdef\pdfoutlinetextchecked{#1}% ++ \checkutfbytes ++ }% ++ % Check if \utfbytes occurs in expansion. ++ \def\checkutfbytes{% ++ \expandafter\checkutfbytesz\pdfoutlinetextchecked\utfbytes\finish ++ }% ++ \def\checkutfbytesz#1\utfbytes#2\finish{% ++ \def\after{#2}% ++ \ifx\after\empty ++ % No further action needed. Output ASCII string as-is, as converting ++ % to UTF-16 is somewhat slow (and uses more space). ++ \global\let\pdfoutlinetext\pdfoutlinetextchecked ++ \else ++ \passthroughcharstrue % pass UTF-8 sequences unaltered ++ \xdef\pdfoutlinetext{\pdfoutlinetext}% ++ \expandafter\expandutfsixteen\expandafter{\pdfoutlinetext}\pdfoutlinetext ++ \fi ++ }% + % +- % rg sets the color for filling (usual text, etc.); +- % RG sets the color for stroking (thin rules, e.g., normal _'s). +- \def\pdfsetcolor#1{\pdfliteral{#1 rg #1 RG}} ++ \catcode2=1 % begin-group character ++ \catcode3=2 % end-group character + % +- % Set color, and create a mark which defines \thiscolor accordingly, +- % so that \makeheadline knows which color to restore. +- \def\curcolor{0 0 0}% +- \def\setcolor#1{% +- \ifx#1\curcolor\else +- \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}% +- \domark +- \pdfsetcolor{#1}% +- \xdef\curcolor{#1}% +- \fi +- } ++ % argument should be pure UTF-8 with no control sequences. convert to ++ % UTF-16BE by inserting null bytes before bytes < 128 and expanding ++ % UTF-8 multibyte sequences to saved UTF-16BE sequences. ++ \def\expandutfsixteen#1#2{% ++ \bgroup \asciitounicode ++ \passthroughcharsfalse ++ \let\utfbytes\asis ++ % ++ % for Byte Order Mark (BOM) ++ \catcode"FE=12 ++ \catcode"FF=12 ++ % ++ % we want to treat { and } in #1 as any other ASCII bytes. however, ++ % we need grouping characters for \scantokens and definitions/assignments, ++ % so define alternative grouping characters using control characters ++ % that are unlikely to occur. ++ % this does not affect 0x02 or 0x03 bytes arising from expansion as ++ % these are tokens with different catcodes. ++ \catcode"02=1 % begin-group character ++ \catcode"03=2 % end-group character ++ % ++ \expandafter\xdef\expandafter#2\scantokens{% ++ ^^02^^fe^^ff#1^^03}% ++ % NB we need \scantokens to provide both the open and close group tokens ++ % for \xdef otherwise there is an e-TeX error "File ended while ++ % scanning definition of..." ++ % NB \scantokens is a e-TeX command which is assumed to be provided by ++ % pdfTeX. ++ % ++ \egroup ++ }% + % +- \let\maincolor\rgbBlack +- \pdfsetcolor{\maincolor} +- \edef\thiscolor{\maincolor} +- \def\currentcolordefs{} ++ \catcode2=12 \catcode3=12 % defaults + % +- \def\makefootline{% +- \baselineskip24pt +- \line{\pdfsetcolor{\maincolor}\the\footline}% +- } ++ % Color support + % +- \def\makeheadline{% +- \vbox to 0pt{% +- \vskip-22.5pt +- \line{% +- \vbox to8.5pt{}% +- % Extract \thiscolor definition from the marks. +- \getcolormarks +- % Typeset the headline with \maincolor, then restore the color. +- \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}% +- }% +- \vss +- }% +- \nointerlineskip +- } ++ % rg sets the color for filling (usual text, etc.); ++ % RG sets the color for stroking (thin rules, e.g., normal _'s). ++ \def\pdfsetcolor#1{\pdfliteral{#1 rg #1 RG}} + % ++ % PDF outline support + % + \pdfcatalog{/PageMode /UseOutlines} + % +@@ -1311,18 +1366,15 @@ output) for that.)} + \def\pdfoutlinetext{#1}% + \else + \ifx \declaredencoding \utfeight +- \ifx\luatexversion\thisisundefined +- % For pdfTeX with UTF-8. +- % TODO: the PDF format can use UTF-16 in bookmark strings, +- % but the code for this isn't done yet. +- % Use ASCII approximations. +- \passthroughcharsfalse +- \def\pdfoutlinetext{#1}% +- \else ++ \ifluatex + % For LuaTeX with UTF-8. + % Pass through Unicode characters for title texts. + \passthroughcharstrue +- \def\pdfoutlinetext{#1}% ++ \pdfaccentliterals ++ \xdef\pdfoutlinetext{#1}% ++ \else ++ % For pdfTeX with UTF-8. ++ \defpdfoutlinetextunicode{#1}% + \fi + \else + % For non-Latin-1 or non-UTF-8 encodings. +@@ -1341,14 +1393,6 @@ output) for that.)} + \safewhatsit{\pdfdest name{\pdfdestname} xyz}% + } + % +- % used to mark target names; must be expandable. +- \def\pdfmkpgn#1{#1} +- % +- % by default, use black for everything. +- \def\urlcolor{\rgbBlack} +- \let\linkcolor\rgbBlack +- \def\endlink{\setcolor{\maincolor}\pdfendlink} +- % + % Adding outlines to PDF; macros for calculating structure of outlines + % come from Petr Olsak + \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0% +@@ -1374,7 +1418,7 @@ output) for that.)} + \def\pdfdestname{#4}% + \fi + % +- \pdfoutline goto name{\pdfmkpgn{\pdfdestname}}#2{\pdfoutlinetext}% ++ \pdfoutline goto name{\pdfdestname}#2{\pdfoutlinetext}% + } + % + \def\pdfmakeoutlines{% +@@ -1385,15 +1429,18 @@ output) for that.)} + \def\thischapnum{##2}% + \def\thissecnum{0}% + \def\thissubsecnum{0}% ++ \def\indexlastsec{chap\thischapnum}% + }% + \def\numsecentry##1##2##3##4{% + \advancenumber{chap\thischapnum}% + \def\thissecnum{##2}% + \def\thissubsecnum{0}% ++ \def\indexlastsec{sec\thissecnum}% + }% + \def\numsubsecentry##1##2##3##4{% + \advancenumber{sec\thissecnum}% + \def\thissubsecnum{##2}% ++ \def\indexlastsec{subsec\thissecnum}% + }% + \def\numsubsubsecentry##1##2##3##4{% + \advancenumber{subsec\thissubsecnum}% +@@ -1401,7 +1448,13 @@ output) for that.)} + \def\thischapnum{0}% + \def\thissecnum{0}% + \def\thissubsecnum{0}% ++ \let\indexlastsec\empty + % ++ % Index initials are subsidiary to whatever sectioning command just ++ % occurred, usually @appendix or @chapter but occasionally a lower level. ++ \def\idxinitialentry##1##2##3##4{% ++ \expandafter\advancenumber\expandafter{\indexlastsec}% ++ }% + % use \def rather than \let here because we redefine \chapentry et + % al. a second time, below. + \def\appentry{\numchapentry}% +@@ -1412,6 +1465,7 @@ output) for that.)} + \def\unnsecentry{\numsecentry}% + \def\unnsubsecentry{\numsubsecentry}% + \def\unnsubsubsecentry{\numsubsubsecentry}% ++ % + \readdatafile{toc}% + % + % Read toc second time, this time actually producing the outlines. +@@ -1421,7 +1475,7 @@ output) for that.)} + % We use the node names as the destinations. + % + % Currently we prefix the section name with the section number +- % for chapter and appendix headings only in order to avoid too much ++ % for chapter and appendix headings only in order to avoid too much + % horizontal space being required in the PDF viewer. + \def\numchapentry##1##2##3##4{% + \dopdfoutline{##2 ##1}{count-\expnumber{chap##2}}{##3}{##4}}% +@@ -1433,28 +1487,23 @@ output) for that.)} + \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}% + \def\numsubsubsecentry##1##2##3##4{% count is always zero + \dopdfoutline{##1}{}{##3}{##4}}% +- % +- % PDF outlines are displayed using system fonts, instead of +- % document fonts. Therefore we cannot use special characters, +- % since the encoding is unknown. For example, the eogonek from +- % Latin 2 (0xea) gets translated to a | character. Info from +- % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100. +- % +- % TODO this right, we have to translate 8-bit characters to +- % their "best" equivalent, based on the @documentencoding. Too +- % much work for too little return. Just use the ASCII equivalents +- % we use for the index sort strings. +- % +- \indexnofonts ++ \def\idxinitialentry##1##2##3##4{% ++ \dopdfoutline{##1}{}{idx.##1.##2}{##4}}% ++ % ++ \ifnodeseen\else \dopdfoutlinecontents \fi % for @contents at beginning + \setupdatafile + % We can have normal brace characters in the PDF outlines, unlike + % Texinfo index files. So set that up. + \def\{{\lbracecharliteral}% + \def\}{\rbracecharliteral}% + \catcode`\\=\active \otherbackslash +- \input \tocreadfilename ++ \input \tocreadfilename\relax ++ \ifnodeseen \dopdfoutlinecontents \fi % for @contents at end + \endgroup + } ++ \def\dopdfoutlinecontents{% ++ \expandafter\dopdfoutline\expandafter{\putwordTOC}{}{txi.CONTENTS}{}% ++ } + {\catcode`[=1 \catcode`]=2 + \catcode`{=\other \catcode`}=\other + \gdef\lbracecharliteral[{]% +@@ -1480,55 +1529,16 @@ output) for that.)} + \else + \let \startlink \pdfstartlink + \fi +- % make a live url in pdf output. +- \def\pdfurl#1{% +- \begingroup +- % it seems we really need yet another set of dummies; have not +- % tried to figure out what each command should do in the context +- % of @url. for now, just make @/ a no-op, that's the only one +- % people have actually reported a problem with. +- % +- \normalturnoffactive +- \def\@{@}% +- \let\/=\empty +- \makevalueexpandable +- % do we want to go so far as to use \indexnofonts instead of just +- % special-casing \var here? +- \def\var##1{##1}% +- % +- \leavevmode\setcolor{\urlcolor}% +- \startlink attr{/Border [0 0 0]}% +- user{/Subtype /Link /A << /S /URI /URI (#1) >>}% +- \endgroup} +- % \pdfgettoks - Surround page numbers in #1 with @pdflink. #1 may +- % be a simple number, or a list of numbers in the case of an index +- % entry. +- \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} +- \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} +- \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} +- \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}} +- \def\maketoks{% +- \expandafter\poptoks\the\toksA|ENDTOKS|\relax +- \ifx\first0\adn0 +- \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 +- \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 +- \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 +- \else +- \ifnum0=\countA\else\makelink\fi +- \ifx\first.\let\next=\done\else +- \let\next=\maketoks +- \addtokens{\toksB}{\the\toksD} +- \ifx\first,\addtokens{\toksB}{\space}\fi +- \fi +- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi +- \next} +- \def\makelink{\addtokens{\toksB}% +- {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0} ++ \def\pdfmakeurl#1{% ++ \startlink attr{/Border [0 0 0]}% ++ user{/Subtype /Link /A << /S /URI /URI (#1) >>}% ++ }% ++ \def\endlink{\setcolor{\maincolor}\pdfendlink} ++ % + \def\pdflink#1{\pdflinkpage{#1}{#1}}% + \def\pdflinkpage#1#2{% +- \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}} ++ \startlink attr{/Border [0 0 0]} goto name{#1} + \setcolor{\linkcolor}#2\endlink} +- \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} + \else + % non-pdf mode + \let\pdfmkdest = \gobble +@@ -1537,13 +1547,12 @@ output) for that.)} + \let\setcolor = \gobble + \let\pdfsetcolor = \gobble + \let\pdfmakeoutlines = \relax +-\fi % \ifx\pdfoutput ++\fi + + % + % For XeTeX + % +-\ifx\XeTeXrevision\thisisundefined +-\else ++\ifxetex + % + % XeTeX version check + % +@@ -1569,45 +1578,8 @@ output) for that.)} + \fi + % + % Color support +- % +- \def\rgbDarkRed{0.50 0.09 0.12} +- \def\rgbBlack{0 0 0} +- % + \def\pdfsetcolor#1{\special{pdf:scolor [#1]}} + % +- % Set color, and create a mark which defines \thiscolor accordingly, +- % so that \makeheadline knows which color to restore. +- \def\setcolor#1{% +- \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}% +- \domark +- \pdfsetcolor{#1}% +- } +- % +- \def\maincolor{\rgbBlack} +- \pdfsetcolor{\maincolor} +- \edef\thiscolor{\maincolor} +- \def\currentcolordefs{} +- % +- \def\makefootline{% +- \baselineskip24pt +- \line{\pdfsetcolor{\maincolor}\the\footline}% +- } +- % +- \def\makeheadline{% +- \vbox to 0pt{% +- \vskip-22.5pt +- \line{% +- \vbox to8.5pt{}% +- % Extract \thiscolor definition from the marks. +- \getcolormarks +- % Typeset the headline with \maincolor, then restore the color. +- \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}% +- }% +- \vss +- }% +- \nointerlineskip +- } +- % + % PDF outline support + % + % Emulate pdfTeX primitive +@@ -1645,11 +1617,6 @@ output) for that.)} + \safewhatsit{\pdfdest name{\pdfdestname} xyz}% + } + % +- % by default, use black for everything. +- \def\urlcolor{\rgbBlack} +- \def\linkcolor{\rgbBlack} +- \def\endlink{\setcolor{\maincolor}\pdfendlink} +- % + \def\dopdfoutline#1#2#3#4{% + \setpdfoutlinetext{#1} + \setpdfdestname{#3} +@@ -1663,24 +1630,30 @@ output) for that.)} + % + \def\pdfmakeoutlines{% + \begingroup +- % + % For XeTeX, counts of subentries are not necessary. + % Therefore, we read toc only once. + % + % We use node names as destinations. + % + % Currently we prefix the section name with the section number +- % for chapter and appendix headings only in order to avoid too much ++ % for chapter and appendix headings only in order to avoid too much + % horizontal space being required in the PDF viewer. + \def\partentry##1##2##3##4{}% ignore parts in the outlines + \def\numchapentry##1##2##3##4{% +- \dopdfoutline{##2 ##1}{1}{##3}{##4}}% ++ \dopdfoutline{##2 ##1}{1}{##3}{##4}% ++ \def\indexseclevel{2}}% + \def\numsecentry##1##2##3##4{% +- \dopdfoutline{##1}{2}{##3}{##4}}% ++ \dopdfoutline{##1}{2}{##3}{##4}% ++ \def\indexseclevel{3}}% + \def\numsubsecentry##1##2##3##4{% +- \dopdfoutline{##1}{3}{##3}{##4}}% ++ \dopdfoutline{##1}{3}{##3}{##4}% ++ \def\indexseclevel{4}}% + \def\numsubsubsecentry##1##2##3##4{% +- \dopdfoutline{##1}{4}{##3}{##4}}% ++ \dopdfoutline{##1}{4}{##3}{##4}% ++ \def\indexseclevel{5}}% ++ % ++ \def\idxinitialentry##1##2##3##4{% ++ \dopdfoutline{##1}{\indexseclevel}{idx.##1.##2}{##4}}% + % + \let\appentry\numchapentry% + \let\appsecentry\numsecentry% +@@ -1696,15 +1669,25 @@ output) for that.)} + % Therefore, the encoding and the language may not be considered. + % + \indexnofonts ++ \pdfaccentliterals ++ \ifnodeseen\else \dopdfoutlinecontents \fi % for @contents at beginning ++ % + \setupdatafile + % We can have normal brace characters in the PDF outlines, unlike + % Texinfo index files. So set that up. + \def\{{\lbracecharliteral}% + \def\}{\rbracecharliteral}% + \catcode`\\=\active \otherbackslash +- \input \tocreadfilename ++ \xetexpreauxfile ++ \input \tocreadfilename\relax ++ \xetexpostauxfile ++ \ifnodeseen \dopdfoutlinecontents \fi % for @contents at end + \endgroup + } ++ \def\dopdfoutlinecontents{% ++ \expandafter\dopdfoutline\expandafter ++ {\putwordTOC}{1}{txi.CONTENTS}{txi.CONTENTS}% ++ } + {\catcode`[=1 \catcode`]=2 + \catcode`{=\other \catcode`}=\other + \gdef\lbracecharliteral[{]% +@@ -1717,7 +1700,7 @@ output) for that.)} + % However, due to a UTF-16 conversion issue of xdvipdfmx 20150315, + % ``\special{pdf:dest ...}'' cannot handle non-ASCII strings. + % It is fixed by xdvipdfmx 20160106 (TeX Live SVN r39753). +-% ++ % + \def\skipspaces#1{\def\PP{#1}\def\D{|}% + \ifx\PP\D\let\nextsp\relax + \else\let\nextsp\skipspaces +@@ -1732,55 +1715,17 @@ output) for that.)} + \edef\temp{#1}% + \expandafter\skipspaces\temp|\relax + } +- % make a live url in pdf output. +- \def\pdfurl#1{% +- \begingroup +- % it seems we really need yet another set of dummies; have not +- % tried to figure out what each command should do in the context +- % of @url. for now, just make @/ a no-op, that's the only one +- % people have actually reported a problem with. +- % +- \normalturnoffactive +- \def\@{@}% +- \let\/=\empty +- \makevalueexpandable +- % do we want to go so far as to use \indexnofonts instead of just +- % special-casing \var here? +- \def\var##1{##1}% +- % +- \leavevmode\setcolor{\urlcolor}% +- \special{pdf:bann << /Border [0 0 0] +- /Subtype /Link /A << /S /URI /URI (#1) >> >>}% +- \endgroup} ++ \def\pdfmakeurl#1{% ++ \special{pdf:bann << /Border [0 0 0] ++ /Subtype /Link /A << /S /URI /URI (#1) >> >>}% ++ } + \def\endlink{\setcolor{\maincolor}\special{pdf:eann}} +- \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} +- \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} +- \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} +- \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}} +- \def\maketoks{% +- \expandafter\poptoks\the\toksA|ENDTOKS|\relax +- \ifx\first0\adn0 +- \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 +- \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 +- \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 +- \else +- \ifnum0=\countA\else\makelink\fi +- \ifx\first.\let\next=\done\else +- \let\next=\maketoks +- \addtokens{\toksB}{\the\toksD} +- \ifx\first,\addtokens{\toksB}{\space}\fi +- \fi +- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi +- \next} +- \def\makelink{\addtokens{\toksB}% +- {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0} + \def\pdflink#1{\pdflinkpage{#1}{#1}}% + \def\pdflinkpage#1#2{% + \special{pdf:bann << /Border [0 0 0] + /Type /Annot /Subtype /Link /A << /S /GoTo /D (#1) >> >>}% + \setcolor{\linkcolor}#2\endlink} +- \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} +-% ++ % + % + % @image support + % +@@ -1837,6 +1782,164 @@ output) for that.)} + } + \fi + ++% common definitions and code for pdftex, luatex and xetex ++\ifpdforxetex ++ % The dark red here is dark enough to print on paper as ++ % nearly black, but still distinguishable for online viewing. We use ++ % black by default, though. ++ \def\rgbDarkRed{0.50 0.09 0.12} ++ \def\rgbBlack{0 0 0} ++ % ++ % Set color, and create a mark which defines \thiscolor accordingly, ++ % so that \makeheadline knows which color to restore. ++ \def\curcolor{0 0 0}% ++ \def\setcolor#1{% ++ \ifx#1\curcolor\else ++ \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}% ++ \domark ++ \pdfsetcolor{#1}% ++ \xdef\curcolor{#1}% ++ \fi ++ } ++ % ++ \let\maincolor\rgbBlack ++ \pdfsetcolor{\maincolor} ++ \edef\thiscolor{\maincolor} ++ \def\currentcolordefs{} ++ % ++ \def\makefootline{% ++ \baselineskip24pt ++ \line{\pdfsetcolor{\maincolor}\the\footline}% ++ } ++ % ++ \def\makeheadline{% ++ \vbox to 0pt{% ++ \vskip-22.5pt ++ \line{% ++ \vbox to8.5pt{}% ++ % Extract \thiscolor definition from the marks. ++ \getcolormarks ++ % Typeset the headline with \maincolor, then restore the color. ++ \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}% ++ }% ++ \vss ++ }% ++ \nointerlineskip ++ } ++ % ++ % by default, use black for everything. ++ \def\urlcolor{\rgbBlack} ++ \let\linkcolor\rgbBlack ++ % ++ % make a live url in pdf output. ++ \def\pdfurl#1{% ++ \begingroup ++ % it seems we really need yet another set of dummies; have not ++ % tried to figure out what each command should do in the context ++ % of @url. for now, just make @/ a no-op, that's the only one ++ % people have actually reported a problem with. ++ % ++ \normalturnoffactive ++ \def\@{@}% ++ \let\/=\empty ++ \makevalueexpandable ++ % do we want to go so far as to use \indexnofonts instead of just ++ % special-casing \var here? ++ \def\var##1{##1}% ++ % ++ \leavevmode\setcolor{\urlcolor}% ++ \pdfmakeurl{#1}% ++ \endgroup} ++ % ++ % \pdfgettoks - Surround page numbers in #1 with @pdflink. #1 may ++ % be a simple number, or a list of numbers in the case of an index ++ % entry. ++ \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} ++ \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} ++ \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} ++ \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}} ++ \def\maketoks{% ++ \expandafter\poptoks\the\toksA|ENDTOKS|\relax ++ \ifx\first0\adn0 ++ \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 ++ \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 ++ \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 ++ \else ++ \ifnum0=\countA\else\makelink\fi ++ \ifx\first.\let\next=\done\else ++ \let\next=\maketoks ++ \addtokens{\toksB}{\the\toksD} ++ \ifx\first,\addtokens{\toksB}{\space}\fi ++ \fi ++ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi ++ \next} ++ \def\makelink{\addtokens{\toksB}% ++ {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0} ++ \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} ++\fi ++ ++\ifpdforxetex ++ % for pdftex. ++ {\catcode`^^cc=13 ++ \gdef\pdfaccentliteralsutfviii{% ++ % For PDF outline only. Unicode combining accents follow the ++ % character they modify. Note we need at least the first byte ++ % of the UTF-8 sequences to have an active catcode to allow the ++ % definitions to do their magic. ++ \def\"##1{##1^^cc^^88}% U+0308 ++ \def\'##1{##1^^cc^^81}% U+0301 ++ \def\,##1{##1^^cc^^a7}% U+0327 ++ \def\=##1{##1^^cc^^85}% U+0305 ++ \def\^##1{##1^^cc^^82}% U+0302 ++ \def\`##1{##1^^cc^^80}% U+0300 ++ \def\~##1{##1^^cc^^83}% U+0303 ++ \def\dotaccent##1{##1^^cc^^87}% U+0307 ++ \def\H##1{##1^^cc^^8b}% U+030B ++ \def\ogonek##1{##1^^cc^^a8}% U+0328 ++ \def\ringaccent##1{##1^^cc^^8a}% U+030A ++ \def\u##1{##1^^cc^^8c}% U+0306 ++ \def\ubaraccent##1{##1^^cc^^b1}% U+0331 ++ \def\udotaccent##1{##1^^cc^^a3}% U+0323 ++ \def\v##1{##1^^cc^^8c}% U+030C ++ % this definition of @tieaccent will only work with exactly two characters ++ % in argument as we need to insert the combining character between them. ++ \def\tieaccent##1{\tieaccentz##1}% ++ \def\tieaccentz##1##2{##1^^cd^^a1##2} % U+0361 ++ }}% ++ % ++ % for xetex and luatex, which both support extended ^^^^ escapes and ++ % process the Unicode codepoint as a single token. ++ \gdef\pdfaccentliteralsnative{% ++ \def\"##1{##1^^^^0308}% ++ \def\'##1{##1^^^^0301}% ++ \def\,##1{##1^^^^0327}% ++ \def\=##1{##1^^^^0305}% ++ \def\^##1{##1^^^^0302}% ++ \def\`##1{##1^^^^0300}% ++ \def\~##1{##1^^^^0303}% ++ \def\dotaccent##1{##1^^^^0307}% ++ \def\H##1{##1^^^^030b}% ++ \def\ogonek##1{##1^^^^0328}% ++ \def\ringaccent##1{##1^^^^030a}% ++ \def\u##1{##1^^^^0306}% ++ \def\ubaraccent##1{##1^^^^0331}% ++ \def\udotaccent##1{##1^^^^0323}% ++ \def\v##1{##1^^^^030c}% ++ \def\tieaccent##1{\tieaccentz##1}% ++ \def\tieaccentz##1##2{##1^^^^0361##2} % U+0361 ++ }% ++ % ++ % use the appropriate definition ++ \ifluatex ++ \let\pdfaccentliterals\pdfaccentliteralsnative ++ \else ++ \ifxetex ++ \let\pdfaccentliterals\pdfaccentliteralsnative ++ \else ++ \let\pdfaccentliterals\pdfaccentliteralsutfviii ++ \fi ++ \fi ++\fi + + % + \message{fonts,} +@@ -2697,7 +2800,7 @@ end + } + + % Commands to set the quote options. +-% ++% + \parseargdef\codequoteundirected{% + \def\temp{#1}% + \ifx\temp\onword +@@ -2743,7 +2846,7 @@ end + % If we are in a monospaced environment, however, 1) always use \ttsl, + % and 2) do not add an italic correction. + \def\dosmartslant#1#2{% +- \ifusingtt ++ \ifusingtt + {{\ttsl #2}\let\next=\relax}% + {\def\next{{#1#2}\smartitaliccorrection}}% + \next +@@ -2768,15 +2871,15 @@ end + % @cite unconditionally uses \sl with \smartitaliccorrection. + \def\cite#1{{\sl #1}\smartitaliccorrection} + +-% @var unconditionally uses \sl. This gives consistency for +-% parameter names whether they are in @def, @table @code or a +-% regular paragraph. +-% To get ttsl font for @var when used in code context, @set txicodevaristt. +-% The \null is to reset \spacefactor. ++% By default, use ttsl font for @var when used in code context. ++% To unconditionally use \sl for @var, @clear txicodevaristt. This ++% gives consistency for parameter names whether they are in @def, ++% @table @code or a regular paragraph. + \def\aftersmartic{} + \def\var#1{% + \let\saveaftersmartic = \aftersmartic + \def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}% ++ % The \null is to reset \spacefactor. + % + \ifflagclear{txicodevaristt}% + {\def\varnext{{{\sl #1}}\smartitaliccorrection}}% +@@ -2784,7 +2887,6 @@ end + \varnext + } + +-% To be removed after next release + \def\SETtxicodevaristt{}% @set txicodevaristt + + \let\i=\smartitalic +@@ -2804,7 +2906,7 @@ end + \def\ii#1{{\it #1}} % italic font + + % @b, explicit bold. Also @strong. +-\def\b#1{{\bf #1}} ++\def\b#1{{\bf \defcharsdefault #1}} + \let\strong=\b + + % @sansserif, explicit sans. +@@ -2922,7 +3024,7 @@ end + \gdef\codedash{\futurelet\next\codedashfinish} + \gdef\codedashfinish{% + \normaldash % always output the dash character itself. +- % ++ % + % Now, output a discretionary to allow a line break, unless + % (a) the next character is a -, or + % (b) the preceding character is a -, or +@@ -3028,25 +3130,25 @@ end + % For pdfTeX and LuaTeX + \ifurefurlonlylink + % PDF plus option to not display url, show just arg +- \unhbox0 ++ \unhbox0 + \else + % PDF, normally display both arg and url for consistency, + % visibility, if the pdf is eventually used to print, etc. + \unhbox0\ (\urefcode{#1})% + \fi + \else +- \ifx\XeTeXrevision\thisisundefined +- \unhbox0\ (\urefcode{#1})% DVI, always show arg and url +- \else ++ \ifxetex + % For XeTeX + \ifurefurlonlylink + % PDF plus option to not display url, show just arg +- \unhbox0 ++ \unhbox0 + \else + % PDF, normally display both arg and url for consistency, + % visibility, if the pdf is eventually used to print, etc. + \unhbox0\ (\urefcode{#1})% + \fi ++ \else ++ \unhbox0\ (\urefcode{#1})% DVI, always show arg and url + \fi + \fi + \else +@@ -3099,10 +3201,10 @@ end + } + } + +-% By default we'll break after the special characters, but some people like to +-% break before the special chars, so allow that. Also allow no breaking at ++% By default we'll break after the special characters, but some people like to ++% break before the special chars, so allow that. Also allow no breaking at + % all, for manual control. +-% ++% + \parseargdef\urefbreakstyle{% + \def\txiarg{#1}% + \ifx\txiarg\wordnone +@@ -3121,16 +3223,17 @@ end + \def\wordnone{none} + + % Allow a ragged right output to aid breaking long URL's. There can +-% be a break at the \allowbreak with no extra glue (if the existing stretch in ++% be a break at the \allowbreak with no extra glue (if the existing stretch in + % the line is sufficient), a break at the \penalty with extra glue added + % at the end of the line, or no break at all here. +-% Changing the value of the penalty and/or the amount of stretch affects how ++% Changing the value of the penalty and/or the amount of stretch affects how + % preferable one choice is over the other. ++% Check test cases in doc/texinfo-tex-test.texi before making any changes. + \def\urefallowbreak{% + \penalty0\relax +- \hskip 0pt plus 2 em\relax ++ \hskip 0pt plus 3 em\relax + \penalty1000\relax +- \hskip 0pt plus -2 em\relax ++ \hskip 0pt plus -3 em\relax + } + + \urefbreakstyle after +@@ -3339,7 +3442,7 @@ $$% + % @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}. + % Ignore unless FMTNAME == tex; then it is like @iftex and @tex, + % except specified as a normal braced arg, so no newlines to worry about. +-% ++% + \def\outfmtnametex{tex} + % + \long\def\inlinefmt#1{\doinlinefmt #1,\finish} +@@ -3347,7 +3450,7 @@ $$% + \def\inlinefmtname{#1}% + \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi + } +-% ++% + % @inlinefmtifelse{FMTNAME,THEN-TEXT,ELSE-TEXT} expands THEN-TEXT if + % FMTNAME is tex, else ELSE-TEXT. + \long\def\inlinefmtifelse#1{\doinlinefmtifelse #1,,,\finish} +@@ -3363,7 +3466,7 @@ $$% + % *right* brace they would have to use a command anyway, so they may as + % well use a command to get a left brace too. We could re-use the + % delimiter character idea from \verb, but it seems like overkill. +-% ++% + \long\def\inlineraw{\tex \doinlineraw} + \long\def\doinlineraw#1{\doinlinerawtwo #1,\finish} + \def\doinlinerawtwo#1,#2,\finish{% +@@ -3649,7 +3752,7 @@ $$% + % for non-CM glyphs. That is ec* for regular text and tc* for the text + % companion symbols (LaTeX TS1 encoding). Both are part of the ec + % package and follow the same conventions. +-% ++% + \def\ecfont{\etcfont{e}} + \def\tcfont{\etcfont{t}} + % +@@ -3665,15 +3768,24 @@ $$% + {\font\thisecfont = #1ctt\ecsize \space at \nominalsize}% + % else + {\ifx\curfontstyle\bfstylename +- % bold: +- \font\thisecfont = #1cb\ifusingit{i}{x}\ecsize \space at \nominalsize ++ \etcfontbold{#1}% + \else +- % regular: +- \font\thisecfont = #1c\ifusingit{ti}{rm}\ecsize \space at \nominalsize ++ \ifrmisbold ++ \etcfontbold{#1}% ++ \else ++ % regular: ++ \font\thisecfont = #1c\ifusingit{ti}{rm}\ecsize \space ++ at \nominalsize ++ \fi + \fi}% + \thisecfont + } + ++\def\etcfontbold#1{% ++ % bold: ++ \font\thisecfont = #1cb\ifusingit{i}{x}\ecsize \space at \nominalsize ++} ++ + % @registeredsymbol - R in a circle. The font for the R should really + % be smaller yet, but lllsize is the best we can do for now. + % Adapted from the plain.tex definition of \copyright. +@@ -3731,7 +3843,7 @@ $$% + after the title page.}}% + \def\setshortcontentsaftertitlepage{% + \errmessage{@setshortcontentsaftertitlepage has been removed as a Texinfo +- command; move your @shortcontents and @contents commands if you ++ command; move your @shortcontents and @contents commands if you + want the contents after the title page.}}% + + \parseargdef\shorttitlepage{% +@@ -3776,7 +3888,8 @@ $$% + } + + \def\finishtitlepage{% +- \vskip4pt \hrule height 2pt width \hsize ++ \ifseenauthor \vskip4pt \else \vskip 0pt plus 1filll \fi ++ \hrule height 2pt width \hsize + \vskip\titlepagebottomglue + \finishedtitlepagetrue + } +@@ -3785,7 +3898,7 @@ $$% + % don't worry much about spacing, ragged right. This should be used + % inside a \vbox, and fonts need to be set appropriately first. \par should + % be specified before the end of the \vbox, since a vbox is a group. +-% ++% + \def\raggedtitlesettings{% + \rm + \hyphenpenalty=10000 +@@ -3799,33 +3912,105 @@ $$% + \let\subtitlerm=\rmfont + \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines} + ++\let\savedtitle\empty ++\let\savedsubtitlegroup\empty ++\let\savedauthorgroup\empty ++ + \parseargdef\title{% +- \checkenv\titlepage +- \vbox{\titlefonts \raggedtitlesettings #1\par}% +- % print a rule at the page bottom also. +- \finishedtitlepagefalse +- \vskip4pt \hrule height 4pt width \hsize \vskip4pt ++ \expandafter\ifx\thisenv\documentinfo ++ \gdef\savedtitle{#1}% ++ \else ++ \checkenv\titlepage ++ \vbox{\titlefonts \raggedtitlesettings #1\par}% ++ % print a rule at the page bottom also. ++ \finishedtitlepagefalse ++ \vskip4pt \hrule height 4pt width \hsize \vskip4pt ++ \fi + } + + \parseargdef\subtitle{% +- \checkenv\titlepage +- {\subtitlefont \rightline{#1}}% ++ \expandafter\ifx\thisenv\documentinfo ++ \ifx\savedsubtitlegroup\empty ++ \gdef\savedsubtitlegroup{\savedsubtitle{#1}}% ++ \else ++ \expandafter\gdef\expandafter\savedsubtitlegroup\expandafter{% ++ \savedsubtitlegroup\savedsubtitle{#1}}% ++ \fi ++ \else ++ \checkenv\titlepage ++ {\subtitlefont \rightline{#1}}% ++ \fi + } + + % @author should come last, but may come many times. + % It can also be used inside @quotation. + % + \parseargdef\author{% +- \def\temp{\quotation}% +- \ifx\thisenv\temp +- \def\quotationauthor{#1}% printed in \Equotation. ++ \expandafter\ifx\thisenv\documentinfo ++ \ifx\savedauthorgroup\empty ++ \gdef\savedauthorgroup{\savedauthor{#1}}% ++ \else ++ \expandafter\gdef\expandafter\savedauthorgroup\expandafter{% ++ \savedauthorgroup\savedauthor{#1}}% ++ \fi + \else +- \checkenv\titlepage +- \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi +- {\secfonts\rm \leftline{#1}}% ++ \def\temp{\quotation}% ++ \ifx\thisenv\temp ++ \def\quotationauthor{#1}% printed in \Equotation. ++ \else ++ \checkenv\titlepage ++ \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi ++ {\secfonts\rm \leftline{#1}}% ++ \fi + \fi + } + ++% @maketitle ++{\obeylines ++\gdef\maketitle{% ++\titlepage ++\ifx\savedtitle\empty\else ++ \title \savedtitle ++ \ifx\savedsubtitlegroup\empty\else ++ \savedsubtitlegroup ++\fi\fi ++\ifx\savedauthorgroup\empty\else ++ \savedauthorgroup ++\fi ++% start verso page if either copying or publication text is given ++\ifx\copyingtext\relax ++ \ifx\publicationtext\relax\else ++ \page \vskip 0pt plus 1filll ++ \fi ++\else ++ \page \vskip 0pt plus 1filll ++\fi ++\ifx\publicationtext\relax\else ++ \insertpublication ++ \sp 1 ++\fi ++\ifx\copyingtext\relax\else ++ \insertcopying ++\fi ++\end titlepage ++} ++ ++% \savedauthor{#1}, called with braces. output an @author line. ++\gdef\savedauthor#1{% ++\author#1 ++} ++ ++% \savedsubtitle{#1}, called with braces. output a @subtitle line. ++\gdef\savedsubtitle#1{% ++\subtitle#1 ++} ++} % \obeylines ++ ++% @documentinfo block ++\envdef\documentinfo{% ++} ++\def\Edocumentinfo{}% ++ + + % Set up page headings and footings. + +@@ -4611,7 +4796,7 @@ $$% + % Like \expandablevalue, but completely expandable (the \message in the + % definition above operates at the execution level of TeX). Used when + % writing to auxiliary files, due to the expansion that \write does. +-% If flag is undefined, pass through an unexpanded @value command: maybe it ++% If flag is undefined, pass through an unexpanded @value command: maybe it + % will be set by the time it is read back in. + % + % NB flag names containing - or _ may not work here. +@@ -4635,7 +4820,7 @@ $$% + + % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined + % with @set. +-% ++% + % To get the special treatment we need for `@end ifset,' we call + % \makecond and then redefine. + % +@@ -4668,7 +4853,7 @@ $$% + % without the @) is in fact defined. We can only feasibly check at the + % TeX level, so something like `mathcode' is going to considered + % defined even though it is not a Texinfo command. +-% ++% + \makecond{ifcommanddefined} + \def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}} + % +@@ -4774,7 +4959,7 @@ $$% + \def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx} + \def\docodeindexxxx #1{\docind{\indexname}{#1}} + +- ++ + % \definedummyword defines \#1 as \string\#1\space, thus effectively + % preventing its expansion. This is used only for control words, + % not control letters, because the \space would be incorrect for +@@ -4791,7 +4976,7 @@ $$% + \def\definedummyword #1{\def#1{\string#1\space}}% + \def\definedummyletter#1{\def#1{\string#1}}% + +-% Used for the aux, toc and index files to prevent expansion of Texinfo ++% Used for the aux, toc and index files to prevent expansion of Texinfo + % commands. Most of the commands are controlled through the + % \ifdummies conditional. + % +@@ -5065,8 +5250,8 @@ $$% + % + \uccode`\1=`\{ \uppercase{\def\{{1}}% + \uccode`\1=`\} \uppercase{\def\}{1}}% +- \let\lbracechar\{% +- \let\rbracechar\}% ++ \def\lbracechar##1{\{}% ++ \def\rbracechar##1{\}}% + % + % + % We need to get rid of all macros, leaving only the arguments (if present). +@@ -5081,7 +5266,7 @@ $$% + \let\value\indexnofontsvalue + } + +- ++ + + + % #1 is the index name, #2 is the entry text. +@@ -5122,7 +5307,7 @@ $$% + \ifx\suffix\indexisfl\def\suffix{f1}\fi + % Open the file + \immediate\openout\csname#1indfile\endcsname \jobname.\suffix +- % Using \immediate above here prevents an object entering into the current ++ % Using \immediate above here prevents an object entering into the current + % box, which could confound checks such as those in \safewhatsit for + % preceding skips. + \typeout{Writing index file \jobname.\suffix}% +@@ -5174,7 +5359,7 @@ $$% + \ifx\segment\isfinish + \else + % +- % Fully expand the segment, throwing away any @sortas directives, and ++ % Fully expand the segment, throwing away any @sortas directives, and + % trim spaces. + \edef\trimmed{\segment}% + \edef\trimmed{\expandafter\eatspaces\expandafter{\trimmed}}% +@@ -5266,7 +5451,7 @@ $$% + \def\}{\rbracechar{}}% + \uccode`\~=`\\ \uppercase{\def~{\backslashchar{}}}% + % +- % Split the entry into primary entry and any subentries, and get the index ++ % Split the entry into primary entry and any subentries, and get the index + % sort key. + \splitindexentry\indextext + % +@@ -5411,6 +5596,8 @@ $$% + \tolerance = 9500 + \plainfrenchspacing + \everypar = {}% don't want the \kern\-parindent from indentation suppression. ++ \let\entry\indexentry ++ \ifxetex\xetexpreauxfile\fi + % + % See comment in \requireopenindexfile. + \def\indexname{#1}\ifx\indexname\indexisfl\def\indexname{f1}\fi +@@ -5436,8 +5623,12 @@ $$% + \fi + \fi + \closein 1 ++ \ifxetex\xetexpostauxfile\fi + \endgroup} + ++% Checked in @bye ++\let\byeerror\relax ++ + % If the index file starts with a backslash, forgo reading the index + % file altogether. If somebody upgrades texinfo.tex they may still have + % old index files using \ as the escape character. Reading this would +@@ -5446,19 +5637,21 @@ $$% + \ifflagclear{txiindexescapeisbackslash}{% + \uccode`\~=`\\ \uppercase{\if\noexpand~}\noexpand#1 + \ifflagclear{txiskipindexfileswithbackslash}{% +-\errmessage{% +-ERROR: A sorted index file in an obsolete format was skipped. ++ % Delay the error message until the very end to give a chance ++ % for the whole index to be output as input for texindex. ++ \global\def\byeerror{% ++ERROR: A sorted index file in an obsolete format was skipped. + To fix this problem, please upgrade your version of 'texi2dvi' + or 'texi2pdf' to that at . +-If you are using an old version of 'texindex' (part of the Texinfo ++If you are using an old version of 'texindex' (part of the Texinfo + distribution), you may also need to upgrade to a newer version (at least 6.0). + You may be able to typeset the index if you run + 'texindex \jobname.\indexname' yourself. +-You could also try setting the 'txiindexescapeisbackslash' flag by ++You could also try setting the 'txiindexescapeisbackslash' flag by + running a command like +-'texi2dvi -t "@set txiindexescapeisbackslash" \jobname.texi'. If you do ++'texi2dvi -t "@set txiindexescapeisbackslash" \jobname.texi'. If you do + this, Texinfo will try to use index files in the old format. +-If you continue to have problems, deleting the index files and starting again ++If you continue to have problems, deleting the index files and starting again + might help (with 'rm \jobname.?? \jobname.??s')% + }% + }{% +@@ -5466,7 +5659,9 @@ might help (with 'rm \jobname.?? \jobnam + }% + \else + \begindoublecolumns ++ \ifxetex\xetexpreauxfile\fi + \input \jobname.\indexname s ++ \ifxetex\xetexpostauxfile\fi + \enddoublecolumns + \fi + }{% +@@ -5477,11 +5672,39 @@ might help (with 'rm \jobname.?? \jobnam + % should work because we (hopefully) don't otherwise use @ in index files. + %\catcode`\@=12\relax + \catcode`\@=0\relax ++ \ifxetex\xetexpreauxfile\fi + \input \jobname.\indexname s ++ \ifxetex\xetexpostauxfile\fi + \enddoublecolumns + }% + } + ++\def\indexentry#1#2{% ++ \let\entrypagetarget\empty ++ \ifpdforxetex ++ % only link the index text to the page if no comma appears in the ++ % list of pages, i.e. there is only one page ++ \checkpagelistcomma{#2}\pagelistcomma ++ \expandafter\ifcase\pagelistcomma ++ \def\entrypagetarget{#2}% ++ \fi ++ \fi% ++ \entryinternal{#1}{#2}% ++} ++ ++\def\checkpagelistcomma#1#2{% ++ \checkpagelistcommaxx#2#1,\finish ++} ++\def\checkpagelistcommaxx#1#2,#3\finish{% ++ \def\tmp{#3}% ++ \ifx\tmp\empty ++ \def#1{0\relax} ++ \else ++ \def#1{1\relax} ++ \fi ++} ++ ++ + % These macros are used by the sorted index file itself. + % Change them to control the appearance of the index. + +@@ -5518,7 +5741,6 @@ might help (with 'rm \jobname.?? \jobnam + + \def\initial{% + \bgroup +- \initialglyphs + \initialx + } + +@@ -5531,7 +5753,7 @@ might help (with 'rm \jobname.?? \jobnam + % bottom of a column to reduce an increase in inter-line spacing. + \nobreak + \vskip 0pt plus 5\baselineskip +- \penalty -300 ++ \penalty -300 + \vskip 0pt plus -5\baselineskip + % + % Typeset the initial. Making this add up to a whole number of +@@ -5541,7 +5763,10 @@ might help (with 'rm \jobname.?? \jobnam + % + % No shrink because it confuses \balancecolumns. + \vskip 1.67\baselineskip plus 1\baselineskip +- \leftline{\secfonts \kern-0.05em \secbf #1}% ++ \doindexinitialentry{#1}% ++ \initialglyphs ++ \leftline{% ++ \secfonts \kern-0.05em \secbf #1}% + % \secfonts is inside the argument of \leftline so that the change of + % \baselineskip will not affect any glue inserted before the vbox that + % \leftline creates. +@@ -5551,6 +5776,28 @@ might help (with 'rm \jobname.?? \jobnam + \egroup % \initialglyphs + } + ++\def\doindexinitialentry#1{% ++ \ifpdforxetex ++ \global\advance\idxinitialno by 1 ++ \def\indexlbrace{\{}% ++ \def\indexrbrace{\}}% ++ \def\indexbackslash{\realbackslash}% ++ \def\indexatchar{\@}% ++ \writetocentry{idxinitial}{\asis #1}{IDX\the\idxinitialno}% ++ % The @asis removes a pair of braces around e.g. {@indexatchar} that ++ % are output by texindex. ++ % ++ \pdfmkdest{idx.\asis #1.IDX\the\idxinitialno}% ++ \fi ++} ++ ++% No listing in TOC ++\def\idxinitialentry#1#2#3#4{} ++ ++% For index initials. ++\newcount\idxinitialno \idxinitialno=1 ++ ++ + \newdimen\entryrightmargin + \entryrightmargin=0pt + +@@ -5559,16 +5806,18 @@ might help (with 'rm \jobname.?? \jobnam + \newdimen\entrycontskip + \entrycontskip=1em + +-% for PDF output, whether to make the text of the entry a link to the page +-% number. set for @contents and @shortcontents where there is only one +-% page number. ++% for PDF output, whether to make the text of the entry a link to the section. ++% set for @contents and @shortcontents. + \newif\iflinkentrytext + +-% \entry typesets a paragraph consisting of the text (#1), dot leaders, and +-% then page number (#2) flushed to the right margin. It is used for index +-% and table of contents entries. The paragraph is indented by \leftskip. +-% +-\def\entry{% ++% \entryinternal typesets a paragraph consisting of the text (#1), dot ++% leaders, and then page number (#2) flushed to the right margin. It is ++% used for index and table of contents entries. The paragraph is indented ++% by \leftskip. ++% For PDF output, if \linkentrytexttrue and \tocnodetarget is set, link text ++% to the referenced node. Else if \entrypagetarget is set, link text to the ++% page. ++\def\entryinternal{% + \begingroup + % + % Start a new paragraph if necessary, so our assignments below can't +@@ -5608,9 +5857,19 @@ might help (with 'rm \jobname.?? \jobnam + \global\setbox\boxA=\hbox\bgroup + \ifpdforxetex + \iflinkentrytext +- \pdflinkpage{#1}{\unhbox\boxA}% ++ \ifx\tocnodetarget\empty ++ \unhbox\boxA ++ \else ++ \startxreflink{\tocnodetarget}{}% ++ \unhbox\boxA ++ \endlink ++ \fi + \else +- \unhbox\boxA ++ \ifx\entrypagetarget\empty ++ \unhbox\boxA ++ \else ++ \pdflinkpage{\entrypagetarget}{\unhbox\boxA}% ++ \fi + \fi + \else + \unhbox\boxA +@@ -5625,11 +5884,18 @@ might help (with 'rm \jobname.?? \jobnam + % + \null\nobreak\indexdotfill % Have leaders before the page number. + % ++ \hskip\skip\thinshrinkable + \ifpdforxetex +- \pdfgettoks#1.% +- \hskip\skip\thinshrinkable\the\toksA ++ \ifx\tocnodetarget\empty ++ \pdfgettoks#1.% ++ \the\toksA ++ \else ++ % Should just be a single page number in toc ++ \startxreflink{\tocnodetarget}{}% ++ #1\endlink ++ \fi + \else +- \hskip\skip\thinshrinkable #1% ++ #1% + \fi + \fi + \egroup % end \boxA +@@ -5851,7 +6117,7 @@ might help (with 'rm \jobname.?? \jobnam + \newbox\balancedcolumns + \setbox\balancedcolumns=\vbox{shouldnt see this}% + % +-% Only called for the last of the double column material. \doublecolumnout ++% Only called for the last of the double column material. \doublecolumnout + % does the others. + \def\balancecolumns{% + \setbox0 = \vbox{\unvbox\PAGE}% like \box255 but more efficient, see p.120. +@@ -5879,7 +6145,7 @@ might help (with 'rm \jobname.?? \jobnam + }% + % Now the left column is in box 1, and the right column in box 3. + % +- % Check whether the left column has come out higher than the page itself. ++ % Check whether the left column has come out higher than the page itself. + % (Note that we have doubled \vsize for the double columns, so + % the actual height of the page is 0.5\vsize). + \ifdim2\ht1>\vsize +@@ -6175,7 +6441,7 @@ might help (with 'rm \jobname.?? \jobnam + \let\top\unnumbered + + % Sections. +-% ++% + \outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz + \def\seczzz#1{% + \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 +@@ -6198,7 +6464,7 @@ might help (with 'rm \jobname.?? \jobnam + } + + % Subsections. +-% ++% + % normally calls numberedsubseczzz: + \outer\parseargdef\numberedsubsec{\numhead2{#1}} + \def\numberedsubseczzz#1{% +@@ -6222,7 +6488,7 @@ might help (with 'rm \jobname.?? \jobnam + } + + % Subsubsections. +-% ++% + % normally numberedsubsubseczzz: + \outer\parseargdef\numberedsubsubsec{\numhead3{#1}} + \def\numberedsubsubseczzz#1{% +@@ -6275,6 +6541,10 @@ might help (with 'rm \jobname.?? \jobnam + \parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{} + \suppressfirstparagraphindent} + ++% @xrefname - give text with printed name for linking to node and allow ++% referencing node, but do not print any heading. ++\parseargdef\xrefname{\donoderef{Yomitfromtoc}{#1}}% ++ + % These macros generate a chapter, section, etc. heading only + % (including whitespace, linebreaking, etc. around it), + % given all the information in convenient, parsed form. +@@ -6396,11 +6666,6 @@ might help (with 'rm \jobname.?? \jobnam + \chapfonts \rm + \let\footnote=\errfootnoteheading % give better error message + % +- % Have to define \currentsection before calling \donoderef, because the +- % xref code eventually uses it. On the other hand, it has to be called +- % after \pchapsepmacro, or the headline will change too soon. +- \gdef\currentsection{#1}% +- % + % Only insert the separating space if we have a chapter/appendix + % number, and don't print the unnumbered ``number''. + \ifx\temptype\Ynothingkeyword +@@ -6427,7 +6692,7 @@ might help (with 'rm \jobname.?? \jobnam + % been typeset. If the destination for the pdf outline is after the + % text, then jumping from the outline may wind up with the text not + % being visible, for instance under high magnification. +- \donoderef{#2}% ++ \donoderef{#2}{#1}% + % + % Typeset the actual heading. + \nobreak % Avoid page breaks at the interline glue. +@@ -6543,21 +6808,17 @@ might help (with 'rm \jobname.?? \jobnam + \ifx\temptype\Ynothingkeyword + \setbox0 = \hbox{}% + \def\toctype{unn}% +- \gdef\currentsection{#1}% + \else\ifx\temptype\Yomitfromtockeyword +- % for @headings -- no section number, don't include in toc, +- % and don't redefine \currentsection. ++ % for @headings -- no section number, don't include in toc. + \setbox0 = \hbox{}% + \def\toctype{omit}% + \let\sectionlevel=\empty + \else\ifx\temptype\Yappendixkeyword + \setbox0 = \hbox{#4\enspace}% + \def\toctype{app}% +- \gdef\currentsection{#1}% + \else + \setbox0 = \hbox{#4\enspace}% + \def\toctype{num}% +- \gdef\currentsection{#1}% + \fi\fi\fi + % + % Write the toc entry (before \donoderef). See comments in \chapmacro. +@@ -6565,7 +6826,7 @@ might help (with 'rm \jobname.?? \jobnam + % + % Write the node reference (= pdf destination for pdftex). + % Again, see comments in \chapmacro. +- \donoderef{#3}% ++ \donoderef{#3}{#1}% + % + % Interline glue will be inserted when the vbox is completed. + % That glue will be a valid breakpoint for the page, since it'll be +@@ -6759,12 +7020,13 @@ might help (with 'rm \jobname.?? \jobnam + + % Prepare to read what we've written to \tocfile. + % +-\def\startcontents#1{% ++\def\startcontents#1#2{% + % If @setchapternewpage on, and @headings double, the contents should + % start on an odd page, unlike chapters. + \contentsalignmacro + \immediate\closeout\tocfile + % ++ #2% + % Don't need to put `Contents' or `Short Contents' in the headline. + % It is abundantly clear what they are. + \chapmacro{#1}{Yomitfromtoc}{}% +@@ -6784,7 +7046,7 @@ might help (with 'rm \jobname.?? \jobnam + + % \raggedbottom in plain.tex hardcodes \topskip so override it + \catcode`\@=11 +-\def\raggedbottom{\advance\topskip by 0pt plus60pt \r@ggedbottomtrue} ++\def\raggedbottom{\advance\topskip by 0pt plus30pt \r@ggedbottomtrue} + \catcode`\@=\other + + % redefined for the two-volume lispref. We always output on +@@ -6795,7 +7057,9 @@ might help (with 'rm \jobname.?? \jobnam + % Normal (long) toc. + % + \def\contents{% +- \startcontents{\putwordTOC}% ++ \startcontents{\putwordTOC}{\contentsmkdest}% ++ \ifxetex\xetexpreauxfile\fi ++ \penalty2 % mark beginning of contents + \openin 1 \tocreadfilename\space + \ifeof 1 \else + \findsecnowidths +@@ -6807,13 +7071,18 @@ might help (with 'rm \jobname.?? \jobnam + \pdfmakeoutlines + \fi + \closein 1 ++ \ifxetex\xetexpostauxfile\fi + \endgroup + \contentsendroman + } + ++\def\contentsmkdest{% ++ \pdfmkdest{txi.CONTENTS}% ++} ++ + % And just the chapters. + \def\summarycontents{% +- \startcontents{\putwordShortTOC}% ++ \startcontents{\putwordShortTOC}{}% + % + \let\partentry = \shortpartentry + \let\numchapentry = \shortchapentry +@@ -6836,11 +7105,13 @@ might help (with 'rm \jobname.?? \jobnam + \let\numsubsubsecentry = \numsecentry + \let\appsubsubsecentry = \numsecentry + \let\unnsubsubsecentry = \numsecentry ++ \ifxetex\xetexpreauxfile\fi + \openin 1 \tocreadfilename\space + \ifeof 1 \else + \readtocfile + \fi + \closein 1 ++ \ifxetex\xetexpostauxfile\fi + \vfill \eject + \contentsalignmacro % in case @setchapternewpage odd is in effect + \endgroup +@@ -6881,36 +7152,45 @@ might help (with 'rm \jobname.?? \jobnam + % #3 - level of section (e.g "chap", "sec") + % #4 - page number + +-% Parts, in the main contents. Replace the part number, which doesn't +-% exist, with an empty box. Let's hope all the numbers have the same width. +-% Also ignore the page number, which is conventionally not printed. +-\def\numeralbox{\setbox0=\hbox{8}\hbox to \wd0{\hfil}} ++% Parts, in the main contents. Ignore the page number, which is ++% conventionally not printed. + \def\partentry#1#2#3#4{% ++ \ifnum\lastpenalty = 2 ++ % use less space if at very first entry of contents ++ \vskip 1\baselineskip plus .33\baselineskip minus .25\baselineskip ++ \else ++ \vskip 2\baselineskip plus .66\baselineskip minus .5\baselineskip ++ \fi + % Add stretch and a bonus for breaking the page before the part heading. + % This reduces the chance of the page being broken immediately after the + % part heading, before a following chapter heading. +- \vskip 0pt plus 5\baselineskip ++ \vskip 0pt plus 3\baselineskip + \penalty-300 +- \vskip 0pt plus -5\baselineskip +- \dochapentry{#1}{\numeralbox}{}% ++ \vskip 0pt plus -3\baselineskip ++ \begingroup ++ \secfonts \rm ++ \entryinternal{#1}{}% ++ \endgroup ++ \afterpartentrytrue + } ++\newif\ifafterpartentry + % + % Parts, in the short toc. + \def\shortpartentry#1#2#3#4{% + \penalty-300 + \vskip.5\baselineskip plus.15\baselineskip minus.1\baselineskip +- \shortchapentry{{\bf #1}}{\numeralbox}{}{}% ++ \tocentry{{\bf #1}}{}{}{}% + } + + % Chapters, in the main contents. + \def\numchapentry#1#2#3#4{% + \retrievesecnowidth\secnowidthchap{#2}% +- \dochapentry{#1}{#2}{#4}% ++ \dochapentry{#1}{#2}{#3}{#4}% + } + + % Chapters, in the short toc. + \def\shortchapentry#1#2#3#4{% +- \tocentry{#1}{\shortchaplabel{#2}}{#4}% ++ \tocentry{#1}{\shortchaplabel{#2}}{#3}{#4}% + } + + % Appendices, in the main contents. +@@ -6923,79 +7203,83 @@ might help (with 'rm \jobname.?? \jobnam + % + \def\appentry#1#2#3#4{% + \retrievesecnowidth\secnowidthchap{#2}% +- \dochapentry{\appendixbox{#2}\hskip.7em#1}{}{#4}% ++ \dochapentry{\appendixbox{#2}\hskip.7em#1}{}{#3}{#4}% + } + + % Unnumbered chapters. +-\def\unnchapentry#1#2#3#4{\dochapentry{#1}{}{#4}} +-\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{}{#4}} ++\def\unnchapentry#1#2#3#4{\dochapentry{#1}{}{#3}{#4}} ++\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{}{#3}{#4}} + + % Sections. +-\def\numsecentry#1#2#3#4{\dosecentry{#1}{#2}{#4}} +- + \def\numsecentry#1#2#3#4{% + \retrievesecnowidth\secnowidthsec{#2}% +- \dosecentry{#1}{#2}{#4}% ++ \dosecentry{#1}{#2}{#3}{#4}% + } + \let\appsecentry=\numsecentry + \def\unnsecentry#1#2#3#4{% + \retrievesecnowidth\secnowidthsec{#2}% +- \dosecentry{#1}{}{#4}% ++ \dosecentry{#1}{}{#3}{#4}% + } + + % Subsections. + \def\numsubsecentry#1#2#3#4{% + \retrievesecnowidth\secnowidthssec{#2}% +- \dosubsecentry{#1}{#2}{#4}% ++ \dosubsecentry{#1}{#2}{#3}{#4}% + } + \let\appsubsecentry=\numsubsecentry + \def\unnsubsecentry#1#2#3#4{% + \retrievesecnowidth\secnowidthssec{#2}% +- \dosubsecentry{#1}{}{#4}% ++ \dosubsecentry{#1}{}{#3}{#4}% + } + + % And subsubsections. +-\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#2}{#4}} ++\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#2}{#3}{#4}} + \let\appsubsubsecentry=\numsubsubsecentry +-\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{}{#4}} ++\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{}{#3}{#4}} + + % This parameter controls the indentation of the various levels. + % Same as \defaultparindent. + \newdimen\tocindent \tocindent = 15pt + + % Now for the actual typesetting. In all these, #1 is the text, #2 is +-% a section number if present, and #3 is the page number. ++% a section number if present, #3 is the node, and #4 is the page number. + % + % If the toc has to be broken over pages, we want it to be at chapters + % if at all possible; hence the \penalty. +-\def\dochapentry#1#2#3{% +- \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip ++\def\dochapentry#1#2#3#4{% ++ \ifafterpartentry ++ \afterpartentryfalse ++ \penalty5000 ++ \else ++ \penalty-300 ++ \fi ++ \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip + \begingroup + % Move the page numbers slightly to the right + \advance\entryrightmargin by -0.05em + \chapentryfonts + \extrasecnoskip=0.4em % separate chapter number more +- \tocentry{#1}{#2}{#3}% ++ \tocentry{#1}{#2}{#3}{#4}% + \endgroup + \nobreak\vskip .25\baselineskip plus.1\baselineskip + } + +-\def\dosecentry#1#2#3{\begingroup ++\def\dosecentry#1#2#3#4{\begingroup + \secnowidth=\secnowidthchap + \secentryfonts \leftskip=\tocindent +- \tocentry{#1}{#2}{#3}% ++ \tocentry{#1}{#2}{#3}{#4}% + \endgroup} + +-\def\dosubsecentry#1#2#3{\begingroup ++\def\dosubsecentry#1#2#3#4{\begingroup + \secnowidth=\secnowidthsec + \subsecentryfonts \leftskip=2\tocindent +- \tocentry{#1}{#2}{#3}% ++ \tocentry{#1}{#2}{#3}{#4}% + \endgroup} + +-\def\dosubsubsecentry#1#2#3{\begingroup ++\def\dosubsubsecentry#1#2#3#4{\begingroup + \secnowidth=\secnowidthssec + \subsubsecentryfonts \leftskip=3\tocindent +- \tocentry{#1}{#2}{#3}% ++ \tocentry{#1}{#2}{#3}{#4}% + \endgroup} + + % Used for the maximum width of a section number so we can align +@@ -7005,12 +7289,16 @@ might help (with 'rm \jobname.?? \jobnam + \newdimen\extrasecnoskip + \extrasecnoskip=0pt + +-% \tocentry{TITLE}{SEC NO}{PAGE} ++\let\tocnodetarget\empty ++\let\entrypagetarget\empty ++ ++% \tocentry{TITLE}{SEC NO}{NODE}{PAGE} + % +-\def\tocentry#1#2#3{% ++\def\tocentry#1#2#3#4{% ++ \def\tocnodetarget{#3}% + \def\secno{#2}% + \ifx\empty\secno +- \entry{#1}{#3}% ++ \entryinternal{#1}{#4}% + \else + \ifdim 0pt=\secnowidth + \setbox0=\hbox{#2\hskip\labelspace\hskip\extrasecnoskip}% +@@ -7021,7 +7309,7 @@ might help (with 'rm \jobname.?? \jobnam + #2\hskip\labelspace\hskip\extrasecnoskip\hfill}% + \fi + \entrycontskip=\wd0 +- \entry{\box0 #1}{#3}% ++ \entryinternal{\box0 #1}{#4}% + \fi + } + \newdimen\labelspace +@@ -7406,7 +7694,7 @@ might help (with 'rm \jobname.?? \jobnam + + % @indentedblock is like @quotation, but indents only on the left and + % has no optional argument. +-% ++% + \makedispenvdef{indentedblock}{\indentedblockstart} + % + \def\indentedblockstart{% +@@ -7594,6 +7882,7 @@ might help (with 'rm \jobname.?? \jobnam + {\catcode`\ =\other + \gdef\docopying#1@end copying{\endgroup\def\copyingtext{#1}} + } ++\let\copyingtext\relax + + \def\insertcopying{% + \begingroup +@@ -7602,6 +7891,18 @@ might help (with 'rm \jobname.?? \jobnam + \endgroup + } + ++\def\publication{\checkenv{}\begingroup\macrobodyctxt\dopublication} ++{\catcode`\ =\other ++\gdef\dopublication#1@end publication{\endgroup\def\publicationtext{#1}} ++} ++\let\publicationtext\relax ++ ++\def\insertpublication{% ++ \begingroup ++ \parindent = 0pt % paragraph indentation looks wrong on title page ++ \scanexp\publicationtext ++ \endgroup ++} + + \message{defuns,} + % @defun etc. +@@ -7720,7 +8021,7 @@ might help (with 'rm \jobname.?? \jobnam + % @deftypefnnewline on|off says whether the return type of typed functions + % are printed on their own line. This affects @deftypefn, @deftypefun, + % @deftypeop, and @deftypemethod. +-% ++% + \parseargdef\deftypefnnewline{% + \def\temp{#1}% + \ifx\temp\onword +@@ -7890,7 +8191,7 @@ might help (with 'rm \jobname.?? \jobnam + \tclose{\temp}% typeset the return type + \ifrettypeownline + % put return type on its own line; prohibit line break following: +- \hfil\vadjust{\nobreak}\break ++ \hfil\vadjust{\nobreak}\break + \else + \space % type on same line, so just followed by a space + \fi +@@ -7901,7 +8202,7 @@ might help (with 'rm \jobname.?? \jobnam + {\rm\enskip}% hskip 0.5 em of \rmfont + }{}% + % +- \boldbrax ++ \parenbrackglyphs + % arguments will be output next, if any. + } + +@@ -7911,7 +8212,10 @@ might help (with 'rm \jobname.?? \jobnam + \def\^^M{}% for line continuation + \df \ifdoingtypefn \tt \else \sl \fi + \ifflagclear{txicodevaristt}{}% +- {\def\var##1{{\setregularquotes \ttsl ##1}}}% ++ % use \ttsl for @var in both @def* and @deftype*. ++ % the kern prevents an italic correction at end, which appears ++ % too much for ttsl. ++ {\def\var##1{{\setregularquotes \ttsl ##1\kern 0pt }}}% + #1% + \egroup + } +@@ -7928,8 +8232,9 @@ might help (with 'rm \jobname.?? \jobnam + \let\lparen = ( \let\rparen = ) + + % Be sure that we always have a definition for `(', etc. For example, +-% if the fn name has parens in it, \boldbrax will not be in effect yet, +-% so TeX would otherwise complain about undefined control sequence. ++% if the fn name has parens in it, \parenbrackglyphs will not be in ++% effect yet, so TeX would otherwise complain about undefined control ++% sequence. + { + \activeparens + \gdef\defcharsdefault{% +@@ -7939,49 +8244,28 @@ might help (with 'rm \jobname.?? \jobnam + } + \globaldefs=1 \defcharsdefault + +- \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb} ++ \gdef\parenbrackglyphs{\let(=\opnr\let)=\cpnr\let[=\lbrb\let]=\rbrb} + \gdef\magicamp{\let&=\amprm} + } + \let\ampchar\& + +-\newcount\parencount +- +-% If we encounter &foo, then turn on ()-hacking afterwards +-\newif\ifampseen +-\def\amprm#1 {\ampseentrue{\rm\ }} +- +-\def\parenfont{% +- \ifampseen +- % At the first level, print parens in roman, +- % otherwise use the default font. +- \ifnum \parencount=1 \rm \fi +- \else +- % The \sf parens (in \boldbrax) actually are a little bolder than +- % the contained text. This is especially needed for [ and ] . +- \sf +- \fi +-} +-\def\infirstlevel#1{% +- \ifampseen +- \ifnum\parencount=1 +- #1% +- \fi +- \fi +-} +-\def\bfafterword#1 {#1 \bf} ++\def\amprm#1 {{\rm\ }} + ++\newcount\parencount ++% opening and closing parentheses in roman font + \def\opnr{% ++ \ptexslash % italic correction + \global\advance\parencount by 1 +- {\parenfont(}% +- \infirstlevel \bfafterword ++ {\sf(}% + } +-\def\clnr{% +- {\parenfont)}% +- \infirstlevel \sl ++\def\cpnr{% ++ \ptexslash % italic correction ++ {\sf)}% + \global\advance\parencount by -1 + } + + \newcount\brackcount ++% left and right square brackets in bold font + \def\lbrb{% + \global\advance\brackcount by 1 + {\bf[}% +@@ -8023,24 +8307,17 @@ might help (with 'rm \jobname.?? \jobnam + } + \fi + +-\let\E=\expandafter +- + % Used at the time of macro expansion. + % Argument is macro body with arguments substituted + \def\scanmacro#1{% + \newlinechar`\^^M +- % expand the expansion of \eatleadingcr twice to maybe remove a leading +- % newline (and \else and \fi tokens), then call \eatspaces on the result. +- \def\xeatspaces##1{% +- \E\E\E\E\E\E\E\eatspaces\E\E\E\E\E\E\E{\eatleadingcr##1% +- }}% +- \def\xempty##1{}% ++ \def\xeatspaces##1{\eatleadingcrthen\eatspaces{##1}}% + % + % Process the macro body under the current catcode regime. + \scantokens{#1@comment}% + % + % The \comment is to remove the \newlinechar added by \scantokens, and +- % can be noticed by \parsearg. Note \c isn't used because this means cedilla ++ % can be noticed by \parsearg. Note \c isn't used because this means cedilla + % in math mode. + } + +@@ -8087,10 +8364,12 @@ might help (with 'rm \jobname.?? \jobnam + \unbrace{\gdef\trim@@@ #1 } #2@{#1} + } + +-{\catcode`\^^M=\other% +-\gdef\eatleadingcr#1{\if\noexpand#1\noexpand^^M\else\E#1\fi}}% +-% Warning: this won't work for a delimited argument +-% or for an empty argument ++% Trim a single leading ^^M off a string, then call #1 ++{\catcode`\^^M=\active \catcode`\Q=3% ++\gdef\eatleadingcrthen #1#2{\eatlcra #1Q#2Q^^MQ}% ++\gdef\eatlcra #1#2Q^^M{\eatlcrb #1#2Q}% ++\gdef\eatlcrb #1Q#2Q#3Q{#1{#2}}% ++} + + % Trim a single trailing ^^M off a string. + {\catcode`\^^M=\other \catcode`\Q=3% +@@ -8226,6 +8505,10 @@ might help (with 'rm \jobname.?? \jobnam + % is #, then the preceding argument is delimited by + % an opening brace, and that opening brace is not consumed. + ++% Make @ a letter, so that we can make private-to-Texinfo macro names. ++\edef\texiatcatcode{\the\catcode`\@} ++\catcode `@=11\relax ++ + % Parse the optional {params} list to @macro or @rmacro. + % Set \paramno to the number of arguments, + % and \paramlist to a parameter text for the macro (e.g. #1,#2,#3 for a +@@ -8233,19 +8516,18 @@ might help (with 'rm \jobname.?? \jobnam + % list to some hook where the argument is to be expanded. If there are + % less than 10 arguments that hook is to be replaced by ##N where N + % is the position in that list, that is to say the macro arguments are to be +-% defined `a la TeX in the macro body. ++% defined `a la TeX in the macro body. + % + % That gets used by \mbodybackslash (above). + % + % If there are 10 or more arguments, a different technique is used: see +-% \parsemmanyargdef. ++% \parsemmanyargdef@@. + % + \def\parsemargdef#1;{% + \paramno=0\def\paramlist{}% + \let\hash\relax + % \hash is redefined to `#' later to get it into definitions + \let\xeatspaces\relax +- \let\xempty\relax + \parsemargdefxxx#1,;,% + \ifnum\paramno<10\relax\else + \paramno0\relax +@@ -8257,29 +8539,25 @@ might help (with 'rm \jobname.?? \jobnam + \else \let\next=\parsemargdefxxx + \advance\paramno by 1 + \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname +- {\xeatspaces{\hash\the\paramno\noexpand\xempty{}}}% ++ {\xeatspaces{\hash\the\paramno}}% + \edef\paramlist{\paramlist\hash\the\paramno,}% + \fi\next} +-% the \xempty{} is to give \eatleadingcr an argument in the case of an +-% empty macro argument. + + % \parsemacbody, \parsermacbody + % + % Read recursive and nonrecursive macro bodies. (They're different since + % rec and nonrec macros end differently.) +-% ++% + % We are in \macrobodyctxt, and the \xdef causes backslashes in the macro + % body to be transformed. + % Set \macrobody to the body of the macro, and call \macrodef. + % ++\catcode `\@\texiatcatcode + {\catcode`\ =\other\long\gdef\parsemacbody#1@end macro{% + \xdef\macrobody{\eatcr{#1}}\endgroup\macrodef}}% + {\catcode`\ =\other\long\gdef\parsermacbody#1@end rmacro{% + \xdef\macrobody{\eatcr{#1}}\endgroup\macrodef}}% +- +-% Make @ a letter, so that we can make private-to-Texinfo macro names. +-\edef\texiatcatcode{\the\catcode`\@} +-\catcode `@=11\relax ++\catcode `\@=11\relax + + %%%%%%%%%%%%%% Code for > 10 arguments only %%%%%%%%%%%%%%%%%% + +@@ -8302,7 +8580,7 @@ might help (with 'rm \jobname.?? \jobnam + % twice the \macarg.BLAH macros does not cost too much processing power. + \def\parsemmanyargdef@@#1,{% + \if#1;\let\next=\relax +- \else ++ \else + \let\next=\parsemmanyargdef@@ + \edef\tempb{\eatspaces{#1}}% + \expandafter\def\expandafter\tempa +@@ -8387,7 +8665,7 @@ might help (with 'rm \jobname.?? \jobnam + + % Replace arguments by their values in the macro body, and place the result + % in macro \@tempa. +-% ++% + \def\macvalstoargs@{% + % To do this we use the property that token registers that are \the'ed + % within an \edef expand only once. So we are going to place all argument +@@ -8411,9 +8689,9 @@ might help (with 'rm \jobname.?? \jobnam + \expandafter\def\expandafter\@tempa\expandafter{\@tempc}% + } + +-% Define the named-macro outside of this group and then close this group. +-% +-\def\macargexpandinbody@{% ++% Define the named-macro outside of this group and then close this group. ++% ++\def\macargexpandinbody@{% + \expandafter + \endgroup + \macargdeflist@ +@@ -8451,7 +8729,7 @@ might help (with 'rm \jobname.?? \jobnam + } + + % Trailing missing arguments are set to empty. +-% ++% + \def\setemptyargvalues@{% + \ifx\paramlist\nilm@ + \let\next\macargexpandinbody@ +@@ -8511,7 +8789,7 @@ might help (with 'rm \jobname.?? \jobnam + \expandafter\xdef\csname\the\macname\endcsname{% + \begingroup + \noexpand\spaceisspace +- \noexpand\endlineisspace ++ \noexpand\ignoreactivenewline + \noexpand\expandafter % skip any whitespace after the macro name. + \expandafter\noexpand\csname\the\macname @@@\endcsname}% + \expandafter\xdef\csname\the\macname @@@\endcsname{% +@@ -8529,7 +8807,7 @@ might help (with 'rm \jobname.?? \jobnam + \else % at most 9 + \ifnum\paramno<10\relax + % @MACNAME sets the context for reading the macro argument +- % @MACNAME@@ gets the argument, processes backslashes and appends a ++ % @MACNAME@@ gets the argument, processes backslashes and appends a + % comma. + % @MACNAME@@@ removes braces surrounding the argument list. + % @MACNAME@@@@ scans the macro body with arguments substituted. +@@ -8540,15 +8818,13 @@ might help (with 'rm \jobname.?? \jobnam + \noexpand\expandafter + \expandafter\noexpand\csname\the\macname @@\endcsname}% + \expandafter\xdef\csname\the\macname @@\endcsname##1{% +- \noexpand\passargtomacro +- \expandafter\noexpand\csname\the\macname @@@\endcsname{##1,}}% ++ \noexpand\passargtomacro ++ \expandafter\noexpand\csname\the\macname @@@\endcsname{##1,}}% + \expandafter\xdef\csname\the\macname @@@\endcsname##1{% +- \expandafter\noexpand\csname\the\macname @@@@\endcsname ##1}% +- \expandafter\expandafter +- \expandafter\xdef +- \expandafter\expandafter +- \csname\the\macname @@@@\endcsname\paramlist{% +- \endgroup\noexpand\scanmacro{\macrobody}}% ++ \expandafter\noexpand\csname\the\macname @@@@\endcsname ##1}% ++ \expandaftergroup{\expandafter\xdef\csname\the\macname @@@@\endcsname}% ++ \paramlist{% ++ \endgroup\noexpand\scanmacro{\macrobody}}% + \else % 10 or more: + \expandafter\xdef\csname\the\macname\endcsname{% + \noexpand\getargvals@{\the\macname}{\argl}% +@@ -8560,6 +8836,16 @@ might help (with 'rm \jobname.?? \jobnam + + \catcode `\@\texiatcatcode\relax % end private-to-Texinfo catcodes + ++% utility definition to avoid excessive use of \expandafter. call ++% as \expandaftergroup{CONTENT}\WORD to expand \WORD exactly once and remove ++% braces around CONTENT. ++\def\expandaftergroup#1#2{% ++ \expandafter\expandaftergroupx\expandafter{#2}{#1}% ++} ++\def\expandaftergroupx#1#2{% ++ #2#1% ++} ++ + \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}} + + +@@ -8573,11 +8859,11 @@ might help (with 'rm \jobname.?? \jobnam + % Call #1 with a list of tokens #2, with any doubled backslashes in #2 + % compressed to one. + % +-% This implementation works by expansion, and not execution (so we cannot use +-% \def or similar). This reduces the risk of this failing in contexts where +-% complete expansion is done with no execution (for example, in writing out to ++% This implementation works by expansion, and not execution (so we cannot use ++% \def or similar). This reduces the risk of this failing in contexts where ++% complete expansion is done with no execution (for example, in writing out to + % an auxiliary file for an index entry). +-% ++% + % State is kept in the input stream: the argument passed to + % @look_ahead, @gobble_and_check_finish and @add_segment is + % +@@ -8599,11 +8885,11 @@ might help (with 'rm \jobname.?? \jobnam + % #3 - NEXT_TOKEN + % #4 used to look ahead + % +-% If the next token is not a backslash, process the rest of the argument; ++% If the next token is not a backslash, process the rest of the argument; + % otherwise, remove the next token. + @gdef@look_ahead#1!#2#3#4{% + @ifx#4\% +- @expandafter@gobble_and_check_finish ++ @expandafter@gobble_and_check_finish + @else + @expandafter@add_segment + @fi#1!{#2}#4#4% +@@ -8627,9 +8913,9 @@ might help (with 'rm \jobname.?? \jobnam + % #3 - NEXT_TOKEN + % #4 is input stream until next backslash + % +-% Input stream is either at the start of the argument, or just after a +-% backslash sequence, either a lone backslash, or a doubled backslash. +-% NEXT_TOKEN contains the first token in the input stream: if it is \finish, ++% Input stream is either at the start of the argument, or just after a ++% backslash sequence, either a lone backslash, or a doubled backslash. ++% NEXT_TOKEN contains the first token in the input stream: if it is \finish, + % finish; otherwise, append to ARG_RESULT the segment of the argument up until + % the next backslash. PENDING_BACKSLASH contains a backslash to represent + % a backslash just before the start of the input stream that has not been +@@ -8641,13 +8927,13 @@ might help (with 'rm \jobname.?? \jobnam + % append the pending backslash to the result, followed by the next segment + @expandafter@is_fi@look_ahead#1#2#4!{\}@fi + % this @fi is discarded by @look_ahead. +- % we can't get rid of it with \expandafter because we don't know how ++ % we can't get rid of it with \expandafter because we don't know how + % long #4 is. + } + + % #1 - THE_MACRO + % #2 - ARG_RESULT +-% #3 discards the res of the conditional in @add_segment, and @is_fi ends the ++% #3 discards the res of the conditional in @add_segment, and @is_fi ends the + % conditional. + @gdef@call_the_macro#1#2!#3@fi{@is_fi #1{#2}} + +@@ -8659,7 +8945,7 @@ might help (with 'rm \jobname.?? \jobnam + % for reading the argument (slightly different in the two cases). Then, + % to read the argument, in the whole-line case, it then calls the regular + % \parsearg MAC; in the lbrace case, it calls \passargtomacro MAC. +-% ++% + \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} + \def\braceorlinexxx{% + \ifx\nchar\bgroup +@@ -8729,9 +9015,8 @@ might help (with 'rm \jobname.?? \jobnam + \expandafter\noexpand + \csname\the\macname @@@\endcsname##1\noexpand\endlinemacro + } +- \expandafter\expandafter +- \expandafter\xdef +- \expandafter\expandafter\csname\the\macname @@@\endcsname\paramlist{% ++ \expandaftergroup{\expandafter\xdef\csname\the\macname @@@\endcsname}% ++ \paramlist{% + \newlinechar=13 % split \macrobody into lines + \noexpand\scantokens{\macrobody}% + } +@@ -8782,7 +9067,7 @@ might help (with 'rm \jobname.?? \jobnam + + % Used so that the @top node doesn't have to be wrapped in an @ifnottex + % conditional. +-% \doignore goes to more effort to skip nested conditionals but we don't need ++% \doignore goes to more effort to skip nested conditionals but we don't need + % that here. + \def\omittopnode{% + \ifx\lastnode\wordTop +@@ -8806,14 +9091,19 @@ might help (with 'rm \jobname.?? \jobnam + \let\lastnode=\empty + + % Write a cross-reference definition for the current node. #1 is the +-% type (Ynumbered, Yappendix, Ynothing). ++% type (Ynumbered, Yappendix, Ynothing). #2 is the section title. + % +-\def\donoderef#1{% ++\def\donoderef#1#2{% + \ifx\lastnode\empty\else +- \setref{\lastnode}{#1}% ++ \setref{\lastnode}{#1}{#2}% + \global\let\lastnode=\empty ++ \setnodeseenonce + \fi + } ++\def\setnodeseenonce{ ++ \global\nodeseentrue ++ \let\setnodeseenonce\relax ++} + + % @nodedescription, @nodedescriptionblock - do nothing for TeX + \parseargdef\nodedescription{} +@@ -8826,21 +9116,28 @@ might help (with 'rm \jobname.?? \jobnam + % + \def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi} + \def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi} +-\def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces} ++\def\anchor#1{% ++ \savesf \setref{#1}{Yanchor}{#1}\restoresf \ignorespaces ++} ++ ++% @namedanchor{NAME, XREFNAME} -- define xref target at arbitrary point ++% with label text for cross-references to it. ++\def\namedanchor#1{\donamedanchor#1\finish}% ++\def\donamedanchor#1,#2\finish{% ++ \savesf \setref{#1}{Yanchor}{\ignorespaces #2\unskip}\restoresf \ignorespaces ++} + +-% \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an +-% anchor), which consists of three parts: +-% 1) NAME-title - the current sectioning name taken from \currentsection, +-% or the anchor name. +-% 2) NAME-snt - section number and type, passed as the SNT arg, or +-% empty for anchors. ++% \setref{NAME}{SNT}{TITLE} defines a cross-reference point NAME (a node ++% or an anchor), which consists of three parts: ++% 1) NAME-title - the current sectioning name ++% 2) NAME-snt - section number and type, passed as the SNT arg. + % 3) NAME-pg - the page number. + % + % This is called from \donoderef, \anchor, and \dofloat. In the case of + % floats, there is an additional part, which is not written here: + % 4) NAME-lof - the text as it should appear in a @listoffloats. + % +-\def\setref#1#2{% ++\def\setref#1#2#3{% + \pdfmkdest{#1}% + \iflinks + {% +@@ -8852,7 +9149,7 @@ might help (with 'rm \jobname.?? \jobnam + \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef + ##1}{##2}}% these are parameters of \writexrdef + }% +- \toks0 = \expandafter{\currentsection}% ++ \toks0 = {#3}% + \immediate \writexrdef{title}{\the\toks0 }% + \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc. + \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, at \shipout +@@ -8864,7 +9161,7 @@ might help (with 'rm \jobname.?? \jobnam + % automatically in xrefs, if the third arg is not explicitly specified. + % This was provided as a "secret" @set xref-automatic-section-title + % variable, now it's official. +-% ++% + \parseargdef\xrefautomaticsectiontitle{% + \def\temp{#1}% + \ifx\temp\onword +@@ -8880,7 +9177,7 @@ might help (with 'rm \jobname.?? \jobnam + \fi\fi + } + +-% ++% + % @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is + % the node name, #2 the name of the Info cross-reference, #3 the printed + % node name, #4 the name of the Info file, #5 the name of the printed +@@ -8906,15 +9203,7 @@ might help (with 'rm \jobname.?? \jobnam + \setbox\infofilenamebox = \hbox{\infofilename\unskip}% + % + \startxreflink{#1}{#4}% +- {% +- % Have to otherify everything special to allow the \csname to +- % include an _ in the xref name, etc. +- \indexnofonts +- \turnoffactive +- \def\value##1{##1}% +- \expandafter\global\expandafter\let\expandafter\Xthisreftitle +- \csname XR#1-title\endcsname +- }% ++ \getrefx{#1-title}\Xthisreftitle + % + % Float references are printed completely differently: "Figure 1.2" + % instead of "[somenode], p.3". \iffloat distinguishes them by +@@ -8947,21 +9236,23 @@ might help (with 'rm \jobname.?? \jobnam + % Cross-manual reference with a printed manual name. + % + \crossmanualxref{\cite{\printedmanual\unskip}}% +- % + \else\ifdim \wd\infofilenamebox > 0pt + % Cross-manual reference with only an info filename (arg 4), no + % printed manual name (arg 5). This is essentially the same as + % the case above; we output the filename, since we have nothing else. + % + \crossmanualxref{\code{\infofilename\unskip}}% +- % + \else + % Reference within this manual. + % +- % Only output a following space if the -snt ref is nonempty, as the ref +- % will be empty for @unnumbered and @anchor. +- \setbox2 = \hbox{\ignorespaces \refx{#1-snt}}% +- \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi ++ % Only output a following space if the -snt ref is nonempty, as is ++ % the case for @unnumbered and @anchor. ++ \getrefx{#1-snt}\tmp ++ \ifx\tmp\empty\else ++ \ifx\tmp\Yanchor\else ++ \tmp\space ++ \fi ++ \fi + % + % output the `[mynode]' via the macro below so it can be overridden. + \xrefprintnodename\printedrefname +@@ -9017,7 +9308,7 @@ might help (with 'rm \jobname.?? \jobnam + \else + % Otherwise just copy the Info node name. + \def\printedrefname{\ignorespaces #1}% +- \fi% ++ \fi + \fi + \fi + \fi +@@ -9049,7 +9340,7 @@ might help (with 'rm \jobname.?? \jobnam + \ifnum\filenamelength>0 + goto file{\the\filename.pdf} name{\pdfdestname}% + \else +- goto name{\pdfmkpgn{\pdfdestname}}% ++ goto name{\pdfdestname}% + \fi + \else % XeTeX + \ifnum\filenamelength>0 +@@ -9078,20 +9369,20 @@ might help (with 'rm \jobname.?? \jobnam + \space\putwordpage\tie\refx{#1-pg}} + + % Output a cross-manual xref to #1. Used just above (twice). +-% ++% + % Only include the text "Section ``foo'' in" if the foo is neither + % missing or Top. Thus, @xref{,,,foo,The Foo Manual} outputs simply + % "see The Foo Manual", the idea being to refer to the whole manual. +-% ++% + % But, this being TeX, we can't easily compare our node name against the + % string "Top" while ignoring the possible spaces before and after in + % the input. By adding the arbitrary 7sp below, we make it much less + % likely that a real node name would have the same width as "Top" (e.g., + % in a monospaced font). Hopefully it will never happen in practice. +-% ++% + % For the same basic reason, we retypeset the "Top" at every + % reference, since the current font is indeterminate. +-% ++% + \def\crossmanualxref#1{% + \setbox\toprefbox = \hbox{Top\kern7sp}% + \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}% +@@ -9129,6 +9420,7 @@ might help (with 'rm \jobname.?? \jobnam + % + \def\Ynothing{} + \def\Yomitfromtoc{} ++\def\Yanchor{\isanchor} \let\isanchor\relax + \def\Ynumbered{% + \ifnum\secno=0 + \putwordChapter@tie \the\chapno +@@ -9155,14 +9447,7 @@ might help (with 'rm \jobname.?? \jobnam + + % \refx{NAME} - reference a cross-reference string named NAME. + \def\refx#1{% +- \requireauxfile +- {% +- \indexnofonts +- \turnoffactive +- \def\value##1{##1}% +- \expandafter\global\expandafter\let\expandafter\thisrefX +- \csname XR#1\endcsname +- }% ++ \getrefx{#1}\thisrefX + \ifx\thisrefX\relax + % If not defined, say something at least. + \angleleft un\-de\-fined\angleright +@@ -9183,9 +9468,20 @@ might help (with 'rm \jobname.?? \jobnam + \fi + } + +-% This is the macro invoked by entries in the aux file. Define a control +-% sequence for a cross-reference target (we prepend XR to the control sequence +-% name to avoid collisions). The value is the page number. If this is a float ++% Set #2 to xref string #1 ++\def\getrefx#1#2{% ++ \requireauxfile ++ {% ++ \indexnofonts ++ \turnoffactive ++ \def\value##1{##1}% ++ \expandafter\global\expandafter\let\expandafter#2\csname XR#1\endcsname ++ }% ++} ++ ++% This is the macro invoked by entries in the aux file. Define a control ++% sequence for a cross-reference target (we prepend XR to the control sequence ++% name to avoid collisions). The value is the page number. If this is a float + % type, we have more work to do. + % + \def\xrdef#1#2{% +@@ -9201,10 +9497,10 @@ might help (with 'rm \jobname.?? \jobnam + \bgroup + \expandafter\gdef\csname XR\safexrefname\endcsname{#2}% + \egroup +- % We put the \gdef inside a group to avoid the definitions building up on +- % TeX's save stack, which can cause it to run out of space for aux files with ++ % We put the \gdef inside a group to avoid the definitions building up on ++ % TeX's save stack, which can cause it to run out of space for aux files with + % thousands of lines. \gdef doesn't use the save stack, but \csname does +- % when it defines an unknown control sequence as \relax. ++ % when it defines an unknown control sequence as \relax. + % + % Was that xref control sequence that we just defined for a float? + \expandafter\iffloat\csname XR\safexrefname\endcsname +@@ -9225,6 +9521,7 @@ might help (with 'rm \jobname.?? \jobnam + \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0 + {\safexrefname}}% + \fi ++ \ignorespaces % ignore ends of line in aux file + } + + % If working on a large document in chapters, it is convenient to +@@ -9247,12 +9544,14 @@ might help (with 'rm \jobname.?? \jobnam + % Read the last existing aux file, if any. No error if none exists. + % + \def\tryauxfile{% ++ \ifxetex\xetexpreauxfile\fi + \openin 1 \jobname.aux + \ifeof 1 \else + \readdatafile{aux}% + \global\havexrefstrue + \fi + \closein 1 ++ \ifxetex\xetexpostauxfile\fi + } + + \def\setupdatafile{% +@@ -9335,7 +9634,10 @@ might help (with 'rm \jobname.?? \jobnam + % Auto-number footnotes. Otherwise like plain. + \gdef\footnote{% + \global\advance\footnoteno by \@ne +- \edef\thisfootno{$^{\the\footnoteno}$}% ++ % ++ % Output for the footnote marker. If we are immediately after another ++ % footnote, output a comma and small space first. ++ \edef\thisfootno{$^{\ifnum\lastpenalty=3 ,\mskip 1mu \fi\the\footnoteno}$}% + % + % In case the footnote comes at the end of a sentence, preserve the + % extra spacing after we do the footnote number. +@@ -9344,19 +9646,25 @@ might help (with 'rm \jobname.?? \jobnam + % + % Remove inadvertent blank space before typesetting the footnote number. + \unskip +- \thisfootno\@sf ++ % ++ % \scriptspace is 0.5pt by default and gives excessive space before the ++ % comma if we have multiple footnote markers in a row. ++ \bgroup\scriptspace=0pt ++ \thisfootno\@sf ++ \egroup + \dofootnote + }% + +-% Don't bother with the trickery in plain.tex to not require the +-% footnote text as a parameter. Our footnotes don't need to be so general. +-% +-% Oh yes, they do; otherwise, @ifset (and anything else that uses +-% \parseargline) fails inside footnotes because the tokens are fixed when +-% the footnote is read. --karl, 16nov96. ++% marker for immediately after a footnote marker ++\gdef\footnoteendmarker{\penalty3 } ++ ++% Do not require the footnote text as a parameter; otherwise, @ifset ++% (and anything else that uses \parseargline) fails inside footnotes ++% because the tokens are fixed when the footnote is read. + % + \gdef\dofootnote{% + \insert\footins\bgroup ++ \aftergroup\footnoteendmarker + % + % Nested footnotes are not supported in TeX, that would take a lot + % more work. (\startsavinginserts does not suffice.) +@@ -9387,14 +9695,14 @@ might help (with 'rm \jobname.?? \jobnam + % Hang the footnote text off the number. Use \everypar in case the + % footnote extends for more than one paragraph. + \everypar = {\hang}% +- \textindent{\thisfootno}% ++ \textindent{$^{\the\footnoteno}$}% + % + % Don't crash into the line above the footnote text. Since this + % expands into a box, it must come within the paragraph, lest it + % provide a place where TeX can split the footnote. + \footstrut + % +- % Invoke rest of plain TeX footnote routine. ++ % Eat opening brace and invoke rest of plain TeX footnote routine. + \futurelet\next\fo@t + } + }%end \catcode `\@=11 +@@ -9551,7 +9859,9 @@ might help (with 'rm \jobname.?? \jobnam + % For pdfTeX and LuaTeX <= 0.80 + \dopdfimage{#1}{#2}{#3}% + \else +- \ifx\XeTeXrevision\thisisundefined ++ \ifxetex ++ \doxeteximage{#1}{#2}{#3}% ++ \else + % For epsf.tex + % \epsfbox itself resets \epsf?size at each figure. + \setbox0 = \hbox{\ignorespaces #2}% +@@ -9559,9 +9869,6 @@ might help (with 'rm \jobname.?? \jobnam + \setbox0 = \hbox{\ignorespaces #3}% + \ifdim\wd0 > 0pt \epsfysize=#3\relax \fi + \epsfbox{#1.eps}% +- \else +- % For XeTeX +- \doxeteximage{#1}{#2}{#3}% + \fi + \fi + % +@@ -9639,14 +9946,15 @@ might help (with 'rm \jobname.?? \jobnam + \global\advance\floatno by 1 + % + {% +- % This magic value for \currentsection is output by \setref as the +- % XREFLABEL-title value. \xrefX uses it to distinguish float ++ % This magic value for the third argument of \setref is output as ++ % the XREFLABEL-title value. \xrefX uses it to distinguish float + % labels (which have a completely different output format) from + % node and anchor labels. And \xrdef uses it to construct the + % lists of floats. + % +- \edef\currentsection{\floatmagic=\safefloattype}% +- \setref{\floatlabel}{Yfloat}% ++ \edef\tmp{\noexpand\setref{\noexpand\floatlabel}{Yfloat}% ++ {\floatmagic=\safefloattype}}% ++ \tmp + }% + \fi + % +@@ -9768,7 +10076,7 @@ might help (with 'rm \jobname.?? \jobnam + + % #1 is the control sequence we are passed; we expand into a conditional + % which is true if #1 represents a float ref. That is, the magic +-% \currentsection value which we \setref above. ++% value which we passed to \setref above. + % + \def\iffloat#1{\expandafter\doiffloat#1==\finish} + % +@@ -9825,6 +10133,7 @@ might help (with 'rm \jobname.?? \jobnam + \toksA = \expandafter{\csname XR#1-lof\endcsname}% + % + % use the same \entry macro we use to generate the TOC and index. ++ \let\entry\entryinternal + \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}% + \writeentry + }} +@@ -9860,8 +10169,18 @@ might help (with 'rm \jobname.?? \jobnam + \gdef\documentlanguagetrywithoutunderscore#1_#2\finish{% + \openin 1 txi-#1.tex + \ifeof 1 +- \errhelp = \nolanghelp +- \errmessage{Cannot read language file txi-#1.tex}% ++ \def\lang{#1}% ++ \def\enword{en}% ++ \ifx\lang\enword ++ % for English only, keep on going rather than issuing a fatal error ++ % message, as txi-en.tex likely doesn't contain any changes from the ++ % defaults. note that this is a problem if we already loaded another ++ % language file and want to switch back to English. ++ \message{Cannot read language file txi-#1.tex}% ++ \else ++ \errhelp = \nolanghelp ++ \errmessage{Cannot read language file txi-#1.tex}% ++ \fi + \else + \globaldefs = 1 % everything in the txi-LL files needs to persist + \input txi-#1.tex +@@ -9907,35 +10226,40 @@ directory should work if nowhere else do + \newif\iftxinativeunicodecapable + \newif\iftxiusebytewiseio + +-\ifx\XeTeXrevision\thisisundefined +- \ifx\luatexversion\thisisundefined +- \txinativeunicodecapablefalse +- \txiusebytewiseiotrue +- \else ++\ifxetex ++ \txinativeunicodecapabletrue ++ \txiusebytewiseiofalse ++\else ++ \ifluatex + \txinativeunicodecapabletrue + \txiusebytewiseiofalse ++ \else ++ \txinativeunicodecapablefalse ++ \txiusebytewiseiotrue + \fi +-\else +- \txinativeunicodecapabletrue +- \txiusebytewiseiofalse + \fi + ++\let\xetexpreauxfile\relax ++\let\xetexpostauxfile\relax ++ + % Set I/O by bytes instead of UTF-8 sequence for XeTeX and LuaTex + % for non-UTF-8 (byte-wise) encodings. + % + \def\setbytewiseio{% +- \ifx\XeTeXrevision\thisisundefined +- \else +- \XeTeXdefaultencoding "bytes" % For subsequent files to be read +- \XeTeXinputencoding "bytes" % For document root file +- % Unfortunately, there seems to be no corresponding XeTeX command for +- % output encoding. This is a problem for auxiliary index and TOC files. +- % The only solution would be perhaps to write out @U{...} sequences in +- % place of non-ASCII characters. ++ \ifxetex ++ % For document root file ++ \XeTeXinputencoding "bytes" ++ % ++ % Setting for subsequent files to be read with @include. ++ \XeTeXdefaultencoding "bytes" ++ % ++ % Use UTF-8 for reading auxiliary index and TOC files, which are ++ % always output in UTF-8 with XeTeX. ++ \def\xetexpreauxfile{\XeTeXdefaultencoding "UTF-8"}% ++ \def\xetexpostauxfile{\XeTeXdefaultencoding "bytes"}% + \fi + +- \ifx\luatexversion\thisisundefined +- \else ++ \ifluatex + \directlua{ + local utf8_char, byte, gsub = unicode.utf8.char, string.byte, string.gsub + local function convert_char (char) +@@ -10044,8 +10368,7 @@ directory should work if nowhere else do + \fi % lattwo + \fi % ascii + % +- \ifx\XeTeXrevision\thisisundefined +- \else ++ \ifxetex + \ifx \declaredencoding \utfeight + \else + \ifx \declaredencoding \ascii +@@ -10328,11 +10651,15 @@ directory should work if nowhere else do + + \gdef\UTFviiiDefined#1{% + \ifx #1\relax +- \message{\linenumber Unicode char \string #1 not defined for Texinfo}% ++ \ifutfviiidefinedwarning ++ \message{\linenumber Unicode char \string #1 not defined for Texinfo}% ++ \fi + \else + \expandafter #1% + \fi + } ++\newif\ifutfviiidefinedwarning ++\utfviiidefinedwarningtrue + + % Give non-ASCII bytes the active definitions for processing UTF-8 sequences + \begingroup +@@ -10342,8 +10669,8 @@ directory should work if nowhere else do + + % Loop from \countUTFx to \countUTFy, performing \UTFviiiTmp + % substituting ~ and $ with a character token of that value. +- \def\UTFviiiLoop{% +- \global\catcode\countUTFx\active ++ \gdef\UTFviiiLoop{% ++ \catcode\countUTFx\active + \uccode`\~\countUTFx + \uccode`\$\countUTFx + \uppercase\expandafter{\UTFviiiTmp}% +@@ -10351,7 +10678,7 @@ directory should work if nowhere else do + \ifnum\countUTFx < \countUTFy + \expandafter\UTFviiiLoop + \fi} +- ++ % + % For bytes other than the first in a UTF-8 sequence. Not expected to + % be expanded except when writing to auxiliary files. + \countUTFx = "80 +@@ -10385,6 +10712,16 @@ directory should work if nowhere else do + \else\expandafter\UTFviiiFourOctets\expandafter$\fi + }}% + \UTFviiiLoop ++ % ++ % for pdftex only, used to expand ASCII to UTF-16BE. ++ \gdef\asciitounicode{% ++ \countUTFx = "20 ++ \countUTFy = "80 ++ \def\UTFviiiTmp{% ++ \def~{\nullbyte $}}% ++ \UTFviiiLoop ++ } ++ {\catcode0=11 \gdef\nullbyte{^^00}}% + \endgroup + + \def\globallet{\global\let} % save some \expandafter's below +@@ -10401,7 +10738,7 @@ directory should work if nowhere else do + \uppercase{.} + \endgroup + \else +- \errhelp = \EMsimple ++ \errhelp = \EMsimple + \errmessage{Unicode character U+#1 not supported, sorry}% + \fi + \else +@@ -10409,8 +10746,8 @@ directory should work if nowhere else do + \fi + } + +-% These macros are used here to construct the name of a control +-% sequence to be defined. ++% These macros are used here to construct the names of macros ++% that expand to the definitions for UTF-8 sequences. + \def\UTFviiiTwoOctetsName#1#2{% + \csname u8:#1\string #2\endcsname}% + \def\UTFviiiThreeOctetsName#1#2#3{% +@@ -10418,6 +10755,35 @@ directory should work if nowhere else do + \def\UTFviiiFourOctetsName#1#2#3#4{% + \csname u8:#1\string #2\string #3\string #4\endcsname}% + ++% generate UTF-16 from codepoint ++\def\utfsixteentotoks#1#2{% ++ \countUTFz = "#2\relax ++ \ifnum \countUTFz > 65535 ++ % doesn't work for codepoints > U+FFFF ++ % we don't define glyphs for any of these anyway, so it doesn't matter ++ #1={U+#2}% ++ \else ++ \countUTFx = \countUTFz ++ \divide\countUTFx by 256 ++ \countUTFy = \countUTFx ++ \multiply\countUTFx by 256 ++ \advance\countUTFz by -\countUTFx ++ \uccode`,=\countUTFy ++ \uccode`;=\countUTFz ++ \ifnum\countUTFy = 0 ++ \uppercase{#1={\nullbyte\string;}}% ++ \else\ifnum\countUTFz = 0 ++ \uppercase{#1={\string,\nullbyte}}% ++ \else ++ \uppercase{#1={\string,\string;}}% ++ \fi\fi ++ % NB \uppercase cannot insert a null byte ++ \fi ++} ++ ++\newif\ifutfbytespdf ++\utfbytespdffalse ++ + % For UTF-8 byte sequences (TeX, e-TeX and pdfTeX), + % provide a definition macro to replace a Unicode character; + % this gets used by the @U command +@@ -10434,19 +10800,23 @@ directory should work if nowhere else do + \countUTFz = "#1\relax + \begingroup + \parseXMLCharref +- +- % Give \u8:... its definition. The sequence of seven \expandafter's +- % expands after the \gdef three times, e.g. + % ++ % Completely expand \UTFviiiTmp, which looks like: + % 1. \UTFviiTwoOctetsName B1 B2 + % 2. \csname u8:B1 \string B2 \endcsname + % 3. \u8: B1 B2 (a single control sequence token) ++ \xdef\UTFviiiTmp{\UTFviiiTmp}% + % +- \expandafter\expandafter +- \expandafter\expandafter +- \expandafter\expandafter +- \expandafter\gdef \UTFviiiTmp{#2}% +- % ++ \ifpdf ++ \toksA={#2}% ++ \utfsixteentotoks\toksB{#1}% ++ \expandafter\xdef\UTFviiiTmp{% ++ \noexpand\ifutfbytespdf\noexpand\utfbytes{\the\toksB}% ++ \noexpand\else\the\toksA\noexpand\fi}% ++ \else ++ \expandafter\gdef\UTFviiiTmp{#2}% ++ \fi ++ % + \expandafter\ifx\csname uni:#1\endcsname \relax \else + \message{Internal error, already defined: #1}% + \fi +@@ -10455,8 +10825,9 @@ directory should work if nowhere else do + \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp + \endgroup} + % +- % Given the value in \countUTFz as a Unicode code point, set \UTFviiiTmp +- % to the corresponding UTF-8 sequence. ++ % Given the value in \countUTFz as a Unicode code point, set ++ % \UTFviiiTmp to one of the \UTVviii*OctetsName macros followed by ++ % the corresponding UTF-8 sequence. + \gdef\parseXMLCharref{% + \ifnum\countUTFz < "20\relax + \errhelp = \EMsimple +@@ -10485,7 +10856,7 @@ directory should work if nowhere else do + \divide\countUTFz by 64 + \countUTFy = \countUTFz % Save to be the future value of \countUTFz. + \multiply\countUTFz by 64 +- ++ + % \countUTFz is now \countUTFx with the last 5 bits cleared. Subtract + % in order to get the last five bits. + \advance\countUTFx by -\countUTFz +@@ -10515,12 +10886,22 @@ directory should work if nowhere else do + \catcode"#1=\other + } + ++% Suppress ligature creation from adjacent characters. ++\ifluatex ++ % Braces do not suppress ligature creation in LuaTeX, e.g. in of{}fice ++ % to suppress the "ff" ligature. Using a kern appears to be the only ++ % workaround. ++ \def\nolig{\kern0pt{}} ++\else ++ \def\nolig{{}} ++\fi ++ + % https://en.wikipedia.org/wiki/Plane_(Unicode)#Basic_M + % U+0000..U+007F = https://en.wikipedia.org/wiki/Basic_Latin_(Unicode_block) + % U+0080..U+00FF = https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block) + % U+0100..U+017F = https://en.wikipedia.org/wiki/Latin_Extended-A + % U+0180..U+024F = https://en.wikipedia.org/wiki/Latin_Extended-B +-% ++% + % Many of our renditions are less than wonderful, and all the missing + % characters are available somewhere. Loading the necessary fonts + % awaits user request. We can't truly support Unicode without +@@ -11132,8 +11513,8 @@ directory should work if nowhere else do + % Punctuation + \DeclareUnicodeCharacter{2013}{--}% + \DeclareUnicodeCharacter{2014}{---}% +- \DeclareUnicodeCharacter{2018}{\quoteleft{}}% +- \DeclareUnicodeCharacter{2019}{\quoteright{}}% ++ \DeclareUnicodeCharacter{2018}{\quoteleft\nolig}% ++ \DeclareUnicodeCharacter{2019}{\quoteright\nolig}% + \DeclareUnicodeCharacter{201A}{\quotesinglbase{}}% + \DeclareUnicodeCharacter{201C}{\quotedblleft{}}% + \DeclareUnicodeCharacter{201D}{\quotedblright{}}% +@@ -11168,7 +11549,7 @@ directory should work if nowhere else do + \DeclareUnicodeCharacter{2287}{\ensuremath\supseteq}% + % + \DeclareUnicodeCharacter{2016}{\ensuremath\Vert}% +- \DeclareUnicodeCharacter{2032}{\ensuremath\prime}% ++ \DeclareUnicodeCharacter{2032}{\ensuremath{^\prime}}% + \DeclareUnicodeCharacter{210F}{\ensuremath\hbar}% + \DeclareUnicodeCharacter{2111}{\ensuremath\Im}% + \DeclareUnicodeCharacter{2113}{\ensuremath\ell}% +@@ -11291,6 +11672,25 @@ directory should work if nowhere else do + % + \global\mathchardef\checkmark="1370% actually the square root sign + \DeclareUnicodeCharacter{2713}{\ensuremath\checkmark}% ++ % ++ % These are all the combining accents. We need these empty definitions ++ % at present for the sake of PDF outlines. ++ \DeclareUnicodeCharacter{0300}{}% ++ \DeclareUnicodeCharacter{0301}{}% ++ \DeclareUnicodeCharacter{0302}{}% ++ \DeclareUnicodeCharacter{0303}{}% ++ \DeclareUnicodeCharacter{0305}{}% ++ \DeclareUnicodeCharacter{0306}{}% ++ \DeclareUnicodeCharacter{0307}{}% ++ \DeclareUnicodeCharacter{0308}{}% ++ \DeclareUnicodeCharacter{030A}{}% ++ \DeclareUnicodeCharacter{030B}{}% ++ \DeclareUnicodeCharacter{030C}{}% ++ \DeclareUnicodeCharacter{0323}{}% ++ \DeclareUnicodeCharacter{0327}{}% ++ \DeclareUnicodeCharacter{0328}{}% ++ \DeclareUnicodeCharacter{0331}{}% ++ \DeclareUnicodeCharacter{0361}{}% + }% end of \unicodechardefs + + % UTF-8 byte sequence (pdfTeX) definitions (replacing and @U command) +@@ -11429,12 +11829,12 @@ directory should work if nowhere else do + \pdfhorigin = 1 true in + \pdfvorigin = 1 true in + \else +- \ifx\XeTeXrevision\thisisundefined +- \special{papersize=#8,#7}% +- \else ++ \ifxetex + \pdfpageheight #7\relax + \pdfpagewidth #8\relax + % XeTeX does not have \pdfhorigin and \pdfvorigin. ++ \else ++ \special{papersize=#8,#7}% + \fi + \fi + % +@@ -11634,21 +12034,21 @@ directory should work if nowhere else do + #1#2#3=\countB\relax + } + +-\ifx\XeTeXrevision\thisisundefined +- \ifx\luatexversion\thisisundefined ++\ifxetex % XeTeX ++ \mtsetprotcode\textrm ++ \def\mtfontexpand#1{} ++\else ++ \ifluatex % LuaTeX ++ \mtsetprotcode\textrm ++ \def\mtfontexpand#1{\expandglyphsinfont#1 20 20 1\relax} ++ \else + \ifpdf % pdfTeX + \mtsetprotcode\textrm + \def\mtfontexpand#1{\pdffontexpand#1 20 20 1 autoexpand\relax} + \else % TeX + \def\mtfontexpand#1{} + \fi +- \else % LuaTeX +- \mtsetprotcode\textrm +- \def\mtfontexpand#1{\expandglyphsinfont#1 20 20 1\relax} + \fi +-\else % XeTeX +- \mtsetprotcode\textrm +- \def\mtfontexpand#1{} + \fi + + +@@ -11657,18 +12057,18 @@ directory should work if nowhere else do + \def\microtypeON{% + \microtypetrue + % +- \ifx\XeTeXrevision\thisisundefined +- \ifx\luatexversion\thisisundefined ++ \ifxetex % XeTeX ++ \XeTeXprotrudechars=2 ++ \else ++ \ifluatex % LuaTeX ++ \adjustspacing=2 ++ \protrudechars=2 ++ \else + \ifpdf % pdfTeX + \pdfadjustspacing=2 + \pdfprotrudechars=2 + \fi +- \else % LuaTeX +- \adjustspacing=2 +- \protrudechars=2 + \fi +- \else % XeTeX +- \XeTeXprotrudechars=2 + \fi + % + \mtfontexpand\textrm +@@ -11679,18 +12079,18 @@ directory should work if nowhere else do + \def\microtypeOFF{% + \microtypefalse + % +- \ifx\XeTeXrevision\thisisundefined +- \ifx\luatexversion\thisisundefined ++ \ifxetex % XeTeX ++ \XeTeXprotrudechars=0 ++ \else ++ \ifluatex % LuaTeX ++ \adjustspacing=0 ++ \protrudechars=0 ++ \else + \ifpdf % pdfTeX + \pdfadjustspacing=0 + \pdfprotrudechars=0 + \fi +- \else % LuaTeX +- \adjustspacing=0 +- \protrudechars=0 + \fi +- \else % XeTeX +- \XeTeXprotrudechars=0 + \fi + } + +@@ -11765,7 +12165,7 @@ directory should work if nowhere else do + \def\texinfochars{% + \let< = \activeless + \let> = \activegtr +- \let~ = \activetilde ++ \let~ = \activetilde + \let^ = \activehat + \setregularquotes + \let\b = \strong +--- gcl27-2.7.1.orig/xgcl-2/Events.c ++++ gcl27-2.7.1/xgcl-2/Events.c +@@ -26,202 +26,187 @@ + #include + + /********* XKeyEvent functions *****/ +- +-long make_XKeyEvent (){ ++long ++make_XKeyEvent (void){ + return ((long) calloc(1, sizeof(XKeyEvent))); + } + +-int XKeyEvent_same_screen(i) +-XKeyEvent* i; ++int ++XKeyEvent_same_screen (XKeyEvent* i) + { + return(i->same_screen); + } + +-void set_XKeyEvent_same_screen(i, j) +-XKeyEvent* i; +-int j; ++void ++set_XKeyEvent_same_screen (XKeyEvent *i, int j) + { + i->same_screen = j; + } + +-int XKeyEvent_keycode(i) +-XKeyEvent* i; ++int ++XKeyEvent_keycode (XKeyEvent *i) + { + return(i->keycode); + } + +-void set_XKeyEvent_keycode(i, j) +-XKeyEvent* i; +-int j; ++void ++set_XKeyEvent_keycode (XKeyEvent *i, int j) + { + i->keycode = j; + } + +-int XKeyEvent_state(i) +-XKeyEvent* i; ++int ++XKeyEvent_state (XKeyEvent *i) + { + return(i->state); + } + +-void set_XKeyEvent_state(i, j) +-XKeyEvent* i; +-int j; ++void ++set_XKeyEvent_state (XKeyEvent *i, int j) + { + i->state = j; + } + +-int XKeyEvent_y_root(i) +-XKeyEvent* i; ++int ++XKeyEvent_y_root (XKeyEvent *i) + { + return(i->y_root); + } + +-void set_XKeyEvent_y_root(i, j) +-XKeyEvent* i; +-int j; ++void ++set_XKeyEvent_y_root (XKeyEvent *i, int j) + { + i->y_root = j; + } + +-int XKeyEvent_x_root(i) +-XKeyEvent* i; ++int ++XKeyEvent_x_root (XKeyEvent *i) + { + return(i->x_root); + } + +-void set_XKeyEvent_x_root(i, j) +-XKeyEvent* i; +-int j; ++void ++set_XKeyEvent_x_root (XKeyEvent *i, int j) + { + i->x_root = j; + } + +-int XKeyEvent_y(i) +-XKeyEvent* i; ++int ++XKeyEvent_y (XKeyEvent *i) + { + return(i->y); + } + +-void set_XKeyEvent_y(i, j) +-XKeyEvent* i; +-int j; ++void ++set_XKeyEvent_y (XKeyEvent *i, int j) + { + i->y = j; + } + +-int XKeyEvent_x(i) +-XKeyEvent* i; ++int ++XKeyEvent_x (XKeyEvent *i) + { + return(i->x); + } + +-void set_XKeyEvent_x(i, j) +-XKeyEvent* i; +-int j; ++void ++set_XKeyEvent_x (XKeyEvent *i, int j) + { + i->x = j; + } + +-int XKeyEvent_time(i) +-XKeyEvent* i; ++int ++XKeyEvent_time (XKeyEvent *i) + { + return(i->time); + } + +-void set_XKeyEvent_time(i, j) +-XKeyEvent* i; +-int j; ++void ++set_XKeyEvent_time (XKeyEvent *i, int j) + { + i->time = j; + } + +-int XKeyEvent_subwindow(i) +-XKeyEvent* i; ++int ++XKeyEvent_subwindow (XKeyEvent *i) + { + return(i->subwindow); + } + +-void set_XKeyEvent_subwindow(i, j) +-XKeyEvent* i; +-int j; ++void ++set_XKeyEvent_subwindow (XKeyEvent *i, int j) + { + i->subwindow = j; + } + +-int XKeyEvent_root(i) +-XKeyEvent* i; ++int ++XKeyEvent_root (XKeyEvent *i) + { + return(i->root); + } + +-void set_XKeyEvent_root(i, j) +-XKeyEvent* i; +-int j; ++void ++set_XKeyEvent_root (XKeyEvent *i, int j) + { + i->root = j; + } + +-int XKeyEvent_window(i) +-XKeyEvent* i; ++int ++XKeyEvent_window (XKeyEvent *i) + { + return(i->window); + } + +-void set_XKeyEvent_window(i, j) +-XKeyEvent* i; +-int j; ++void ++set_XKeyEvent_window (XKeyEvent *i, int j) + { + i->window = j; + } + +-long XKeyEvent_display(i) +-XKeyEvent* i; ++long ++XKeyEvent_display (XKeyEvent *i) + { + return((long) i->display); + } + +-void set_XKeyEvent_display(i, j) +-XKeyEvent* i; +-long j; ++void ++set_XKeyEvent_display (XKeyEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XKeyEvent_send_event(i) +-XKeyEvent* i; ++int ++XKeyEvent_send_event (XKeyEvent *i) + { + return(i->send_event); + } + +-void set_XKeyEvent_send_event(i, j) +-XKeyEvent* i; +-int j; ++void ++set_XKeyEvent_send_event (XKeyEvent *i, int j) + { + i->send_event = j; + } + +-int XKeyEvent_serial(i) +-XKeyEvent* i; ++int ++XKeyEvent_serial (XKeyEvent *i) + { + return(i->serial); + } + +-void set_XKeyEvent_serial(i, j) +-XKeyEvent* i; +-int j; ++void ++set_XKeyEvent_serial (XKeyEvent *i, int j) + { + i->serial = j; + } + +-int XKeyEvent_type(i) +-XKeyEvent* i; ++int ++XKeyEvent_type (XKeyEvent *i) + { + return(i->type); + } + +-void set_XKeyEvent_type(i, j) +-XKeyEvent* i; +-int j; ++void ++set_XKeyEvent_type (XKeyEvent *i, int j) + { + i->type = j; + } +@@ -229,201 +214,187 @@ int j; + + /********* XButtonEvent functions *****/ + +-long make_XButtonEvent (){ ++long ++make_XButtonEvent (void){ + return ((long) calloc(1, sizeof(XButtonEvent))); + } + +-int XButtonEvent_same_screen(i) +-XButtonEvent* i; ++int ++XButtonEvent_same_screen (XButtonEvent *i) + { + return(i->same_screen); + } + +-void set_XButtonEvent_same_screen(i, j) +-XButtonEvent* i; +-int j; ++void ++set_XButtonEvent_same_screen (XButtonEvent *i, int j) + { + i->same_screen = j; + } + +-int XButtonEvent_button(i) +-XButtonEvent* i; ++int ++XButtonEvent_button (XButtonEvent *i) + { + return(i->button); + } + +-void set_XButtonEvent_button(i, j) +-XButtonEvent* i; +-int j; ++void ++set_XButtonEvent_button (XButtonEvent *i, int j) + { + i->button = j; + } + +-int XButtonEvent_state(i) +-XButtonEvent* i; ++int ++XButtonEvent_state (XButtonEvent *i) + { + return(i->state); + } + +-void set_XButtonEvent_state(i, j) +-XButtonEvent* i; +-int j; ++void ++set_XButtonEvent_state (XButtonEvent *i, int j) + { + i->state = j; + } + +-int XButtonEvent_y_root(i) +-XButtonEvent* i; ++int ++XButtonEvent_y_root (XButtonEvent *i) + { + return(i->y_root); + } + +-void set_XButtonEvent_y_root(i, j) +-XButtonEvent* i; +-int j; ++void ++set_XButtonEvent_y_root (XButtonEvent *i, int j) + { + i->y_root = j; + } + +-int XButtonEvent_x_root(i) +-XButtonEvent* i; ++int ++XButtonEvent_x_root (XButtonEvent *i) + { + return(i->x_root); + } + +-void set_XButtonEvent_x_root(i, j) +-XButtonEvent* i; +-int j; ++void ++set_XButtonEvent_x_root (XButtonEvent *i, int j) + { + i->x_root = j; + } + +-int XButtonEvent_y(i) +-XButtonEvent* i; ++int ++XButtonEvent_y (XButtonEvent *i) + { + return(i->y); + } + +-void set_XButtonEvent_y(i, j) +-XButtonEvent* i; +-int j; ++void ++set_XButtonEvent_y (XButtonEvent *i, int j) + { + i->y = j; + } + +-int XButtonEvent_x(i) +-XButtonEvent* i; ++int ++XButtonEvent_x (XButtonEvent *i) + { + return(i->x); + } + +-void set_XButtonEvent_x(i, j) +-XButtonEvent* i; +-int j; ++void ++set_XButtonEvent_x (XButtonEvent *i, int j) + { + i->x = j; + } + +-int XButtonEvent_time(i) +-XButtonEvent* i; ++int ++XButtonEvent_time (XButtonEvent *i) + { + return(i->time); + } + +-void set_XButtonEvent_time(i, j) +-XButtonEvent* i; +-int j; ++void ++set_XButtonEvent_time (XButtonEvent *i, int j) + { + i->time = j; + } + +-int XButtonEvent_subwindow(i) +-XButtonEvent* i; ++int ++XButtonEvent_subwindow (XButtonEvent *i) + { + return(i->subwindow); + } + +-void set_XButtonEvent_subwindow(i, j) +-XButtonEvent* i; +-int j; ++void ++set_XButtonEvent_subwindow (XButtonEvent *i, int j) + { + i->subwindow = j; + } + +-int XButtonEvent_root(i) +-XButtonEvent* i; ++int ++XButtonEvent_root (XButtonEvent *i) + { + return(i->root); + } + +-void set_XButtonEvent_root(i, j) +-XButtonEvent* i; +-int j; ++void ++set_XButtonEvent_root (XButtonEvent *i, int j) + { + i->root = j; + } + +-int XButtonEvent_window(i) +-XButtonEvent* i; ++int ++XButtonEvent_window (XButtonEvent *i) + { + return(i->window); + } + +-void set_XButtonEvent_window(i, j) +-XButtonEvent* i; +-int j; ++void ++set_XButtonEvent_window (XButtonEvent *i, int j) + { + i->window = j; + } + +-long XButtonEvent_display(i) +-XButtonEvent* i; ++long ++XButtonEvent_display (XButtonEvent *i) + { + return((long) i->display); + } + +-void set_XButtonEvent_display(i, j) +-XButtonEvent* i; +-long j; ++void ++set_XButtonEvent_display (XButtonEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XButtonEvent_send_event(i) +-XButtonEvent* i; ++int ++XButtonEvent_send_event (XButtonEvent *i) + { + return(i->send_event); + } + +-void set_XButtonEvent_send_event(i, j) +-XButtonEvent* i; +-int j; ++void ++set_XButtonEvent_send_event (XButtonEvent *i, int j) + { + i->send_event = j; + } + +-int XButtonEvent_serial(i) +-XButtonEvent* i; ++int ++XButtonEvent_serial (XButtonEvent *i) + { + return(i->serial); + } + +-void set_XButtonEvent_serial(i, j) +-XButtonEvent* i; +-int j; ++void ++set_XButtonEvent_serial (XButtonEvent *i, int j) + { + i->serial = j; + } + +-int XButtonEvent_type(i) +-XButtonEvent* i; ++int ++XButtonEvent_type (XButtonEvent *i) + { + return(i->type); + } + +-void set_XButtonEvent_type(i, j) +-XButtonEvent* i; +-int j; ++void ++set_XButtonEvent_type (XButtonEvent *i, int j) + { + i->type = j; + } +@@ -431,201 +402,187 @@ int j; + + /********* XMotionEvent functions *****/ + +-long make_XMotionEvent (){ ++long ++make_XMotionEvent (void){ + return ((long) calloc(1, sizeof(XMotionEvent))); + } + +-int XMotionEvent_same_screen(i) +-XMotionEvent* i; ++int ++XMotionEvent_same_screen (XMotionEvent *i) + { + return(i->same_screen); + } + +-void set_XMotionEvent_same_screen(i, j) +-XMotionEvent* i; +-int j; ++void ++set_XMotionEvent_same_screen (XMotionEvent *i, int j) + { + i->same_screen = j; + } + +-char XMotionEvent_is_hint(i) +-XMotionEvent* i; ++char ++XMotionEvent_is_hint (XMotionEvent *i) + { + return(i->is_hint); + } + +-void set_XMotionEvent_is_hint(i, j) +-XMotionEvent* i; +-char j; ++void ++set_XMotionEvent_is_hint (XMotionEvent *i, int j) + { + i->is_hint = j; + } + +-int XMotionEvent_state(i) +-XMotionEvent* i; ++int ++XMotionEvent_state (XMotionEvent *i) + { + return(i->state); + } + +-void set_XMotionEvent_state(i, j) +-XMotionEvent* i; +-int j; ++void ++set_XMotionEvent_state (XMotionEvent *i, int j) + { + i->state = j; + } + +-int XMotionEvent_y_root(i) +-XMotionEvent* i; ++int ++XMotionEvent_y_root (XMotionEvent *i) + { + return(i->y_root); + } + +-void set_XMotionEvent_y_root(i, j) +-XMotionEvent* i; +-int j; ++void ++set_XMotionEvent_y_root (XMotionEvent *i, int j) + { + i->y_root = j; + } + +-int XMotionEvent_x_root(i) +-XMotionEvent* i; ++int ++XMotionEvent_x_root (XMotionEvent *i) + { + return(i->x_root); + } + +-void set_XMotionEvent_x_root(i, j) +-XMotionEvent* i; +-int j; ++void ++set_XMotionEvent_x_root (XMotionEvent *i, int j) + { + i->x_root = j; + } + +-int XMotionEvent_y(i) +-XMotionEvent* i; ++int ++XMotionEvent_y (XMotionEvent *i) + { + return(i->y); + } + +-void set_XMotionEvent_y(i, j) +-XMotionEvent* i; +-int j; ++void ++set_XMotionEvent_y (XMotionEvent *i, int j) + { + i->y = j; + } + +-int XMotionEvent_x(i) +-XMotionEvent* i; ++int ++XMotionEvent_x (XMotionEvent *i) + { + return(i->x); + } + +-void set_XMotionEvent_x(i, j) +-XMotionEvent* i; +-int j; ++void ++set_XMotionEvent_x (XMotionEvent *i, int j) + { + i->x = j; + } + +-int XMotionEvent_time(i) +-XMotionEvent* i; ++int ++XMotionEvent_time (XMotionEvent *i) + { + return(i->time); + } + +-void set_XMotionEvent_time(i, j) +-XMotionEvent* i; +-int j; ++void ++set_XMotionEvent_time (XMotionEvent *i, int j) + { + i->time = j; + } + +-int XMotionEvent_subwindow(i) +-XMotionEvent* i; ++int ++XMotionEvent_subwindow (XMotionEvent *i) + { + return(i->subwindow); + } + +-void set_XMotionEvent_subwindow(i, j) +-XMotionEvent* i; +-int j; ++void ++set_XMotionEvent_subwindow (XMotionEvent *i, int j) + { + i->subwindow = j; + } + +-int XMotionEvent_root(i) +-XMotionEvent* i; ++int ++XMotionEvent_root (XMotionEvent *i) + { + return(i->root); + } + +-void set_XMotionEvent_root(i, j) +-XMotionEvent* i; +-int j; ++void ++set_XMotionEvent_root (XMotionEvent *i, int j) + { + i->root = j; + } + +-int XMotionEvent_window(i) +-XMotionEvent* i; ++int ++XMotionEvent_window (XMotionEvent *i) + { + return(i->window); + } + +-void set_XMotionEvent_window(i, j) +-XMotionEvent* i; +-int j; ++void ++set_XMotionEvent_window (XMotionEvent *i, int j) + { + i->window = j; + } + +-long XMotionEvent_display(i) +-XMotionEvent* i; ++long ++XMotionEvent_display (XMotionEvent *i) + { + return((long) i->display); + } + +-void set_XMotionEvent_display(i, j) +-XMotionEvent* i; +-long j; ++void ++set_XMotionEvent_display (XMotionEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XMotionEvent_send_event(i) +-XMotionEvent* i; ++int ++XMotionEvent_send_event (XMotionEvent *i) + { + return(i->send_event); + } + +-void set_XMotionEvent_send_event(i, j) +-XMotionEvent* i; +-int j; ++void ++set_XMotionEvent_send_event (XMotionEvent *i, int j) + { + i->send_event = j; + } + +-int XMotionEvent_serial(i) +-XMotionEvent* i; ++int ++XMotionEvent_serial (XMotionEvent *i) + { + return(i->serial); + } + +-void set_XMotionEvent_serial(i, j) +-XMotionEvent* i; +-int j; ++void ++set_XMotionEvent_serial (XMotionEvent *i, int j) + { + i->serial = j; + } + +-int XMotionEvent_type(i) +-XMotionEvent* i; ++int ++XMotionEvent_type (XMotionEvent *i) + { + return(i->type); + } + +-void set_XMotionEvent_type(i, j) +-XMotionEvent* i; +-int j; ++void ++set_XMotionEvent_type (XMotionEvent *i, int j) + { + i->type = j; + } +@@ -633,227 +590,211 @@ int j; + + /********* XCrossingEvent functions *****/ + +-long make_XCrossingEvent (){ ++long ++make_XCrossingEvent (void){ + return ((long) calloc(1, sizeof(XCrossingEvent))); + } + +-int XCrossingEvent_state(i) +-XCrossingEvent* i; ++int ++XCrossingEvent_state (XCrossingEvent *i) + { + return(i->state); + } + +-void set_XCrossingEvent_state(i, j) +-XCrossingEvent* i; +-int j; ++void ++set_XCrossingEvent_state (XCrossingEvent *i, int j) + { + i->state = j; + } + +-int XCrossingEvent_focus(i) +-XCrossingEvent* i; ++int ++XCrossingEvent_focus (XCrossingEvent *i) + { + return(i->focus); + } + +-void set_XCrossingEvent_focus(i, j) +-XCrossingEvent* i; +-int j; ++void ++set_XCrossingEvent_focus (XCrossingEvent *i, int j) + { + i->focus = j; + } + +-int XCrossingEvent_same_screen(i) +-XCrossingEvent* i; ++int ++XCrossingEvent_same_screen (XCrossingEvent *i) + { + return(i->same_screen); + } + +-void set_XCrossingEvent_same_screen(i, j) +-XCrossingEvent* i; +-int j; ++void ++set_XCrossingEvent_same_screen (XCrossingEvent *i, int j) + { + i->same_screen = j; + } + +-int XCrossingEvent_detail(i) +-XCrossingEvent* i; ++int ++XCrossingEvent_detail (XCrossingEvent *i) + { + return(i->detail); + } + +-void set_XCrossingEvent_detail(i, j) +-XCrossingEvent* i; +-int j; ++void ++set_XCrossingEvent_detail (XCrossingEvent *i, int j) + { + i->detail = j; + } + +-int XCrossingEvent_mode(i) +-XCrossingEvent* i; ++int ++XCrossingEvent_mode (XCrossingEvent *i) + { + return(i->mode); + } + +-void set_XCrossingEvent_mode(i, j) +-XCrossingEvent* i; +-int j; ++void ++set_XCrossingEvent_mode (XCrossingEvent *i, int j) + { + i->mode = j; + } + +-int XCrossingEvent_y_root(i) +-XCrossingEvent* i; ++int ++XCrossingEvent_y_root (XCrossingEvent *i) + { + return(i->y_root); + } + +-void set_XCrossingEvent_y_root(i, j) +-XCrossingEvent* i; +-int j; ++void ++set_XCrossingEvent_y_root (XCrossingEvent *i, int j) + { + i->y_root = j; + } + +-int XCrossingEvent_x_root(i) +-XCrossingEvent* i; ++int ++XCrossingEvent_x_root (XCrossingEvent *i) + { + return(i->x_root); + } + +-void set_XCrossingEvent_x_root(i, j) +-XCrossingEvent* i; +-int j; ++void ++set_XCrossingEvent_x_root (XCrossingEvent *i, int j) + { + i->x_root = j; + } + +-int XCrossingEvent_y(i) +-XCrossingEvent* i; ++int ++XCrossingEvent_y (XCrossingEvent *i) + { + return(i->y); + } + +-void set_XCrossingEvent_y(i, j) +-XCrossingEvent* i; +-int j; ++void ++set_XCrossingEvent_y (XCrossingEvent *i, int j) + { + i->y = j; + } + +-int XCrossingEvent_x(i) +-XCrossingEvent* i; ++int ++XCrossingEvent_x (XCrossingEvent *i) + { + return(i->x); + } + +-void set_XCrossingEvent_x(i, j) +-XCrossingEvent* i; +-int j; ++void ++set_XCrossingEvent_x (XCrossingEvent *i, int j) + { + i->x = j; + } + +-int XCrossingEvent_time(i) +-XCrossingEvent* i; ++int ++XCrossingEvent_time (XCrossingEvent *i) + { + return(i->time); + } + +-void set_XCrossingEvent_time(i, j) +-XCrossingEvent* i; +-int j; ++void ++set_XCrossingEvent_time (XCrossingEvent *i, int j) + { + i->time = j; + } + +-int XCrossingEvent_subwindow(i) +-XCrossingEvent* i; ++int ++XCrossingEvent_subwindow (XCrossingEvent *i) + { + return(i->subwindow); + } + +-void set_XCrossingEvent_subwindow(i, j) +-XCrossingEvent* i; +-int j; ++void ++set_XCrossingEvent_subwindow (XCrossingEvent *i, int j) + { + i->subwindow = j; + } + +-int XCrossingEvent_root(i) +-XCrossingEvent* i; ++int ++XCrossingEvent_root (XCrossingEvent *i) + { + return(i->root); + } + +-void set_XCrossingEvent_root(i, j) +-XCrossingEvent* i; +-int j; ++void ++set_XCrossingEvent_root (XCrossingEvent *i, int j) + { + i->root = j; + } + +-int XCrossingEvent_window(i) +-XCrossingEvent* i; ++int ++XCrossingEvent_window (XCrossingEvent *i) + { + return(i->window); + } + +-void set_XCrossingEvent_window(i, j) +-XCrossingEvent* i; +-int j; ++void ++set_XCrossingEvent_window (XCrossingEvent *i, int j) + { + i->window = j; + } + +-long XCrossingEvent_display(i) +-XCrossingEvent* i; ++long ++XCrossingEvent_display (XCrossingEvent *i) + { + return((long) i->display); + } + +-void set_XCrossingEvent_display(i, j) +-XCrossingEvent* i; +-long j; ++void ++set_XCrossingEvent_display (XCrossingEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XCrossingEvent_send_event(i) +-XCrossingEvent* i; ++int ++XCrossingEvent_send_event (XCrossingEvent *i) + { + return(i->send_event); + } + +-void set_XCrossingEvent_send_event(i, j) +-XCrossingEvent* i; +-int j; ++void ++set_XCrossingEvent_send_event (XCrossingEvent *i, int j) + { + i->send_event = j; + } + +-int XCrossingEvent_serial(i) +-XCrossingEvent* i; ++int ++XCrossingEvent_serial (XCrossingEvent *i) + { + return(i->serial); + } + +-void set_XCrossingEvent_serial(i, j) +-XCrossingEvent* i; +-int j; ++void ++set_XCrossingEvent_serial (XCrossingEvent *i, int j) + { + i->serial = j; + } + +-int XCrossingEvent_type(i) +-XCrossingEvent* i; ++int ++XCrossingEvent_type (XCrossingEvent *i) + { + return(i->type); + } + +-void set_XCrossingEvent_type(i, j) +-XCrossingEvent* i; +-int j; ++void ++set_XCrossingEvent_type (XCrossingEvent *i, int j) + { + i->type = j; + } +@@ -861,97 +802,91 @@ int j; + + /********* XFocusChangeEvent functions *****/ + +-long make_XFocusChangeEvent (){ ++long ++make_XFocusChangeEvent (void){ + return ((long) calloc(1, sizeof(XFocusChangeEvent))); + } + +-int XFocusChangeEvent_detail(i) +-XFocusChangeEvent* i; ++int ++XFocusChangeEvent_detail (XFocusChangeEvent *i) + { + return(i->detail); + } + +-void set_XFocusChangeEvent_detail(i, j) +-XFocusChangeEvent* i; +-int j; ++void ++set_XFocusChangeEvent_detail (XFocusChangeEvent *i, int j) + { + i->detail = j; + } + +-int XFocusChangeEvent_mode(i) +-XFocusChangeEvent* i; ++int ++XFocusChangeEvent_mode (XFocusChangeEvent *i) + { + return(i->mode); + } + +-void set_XFocusChangeEvent_mode(i, j) +-XFocusChangeEvent* i; +-int j; ++void ++set_XFocusChangeEvent_mode (XFocusChangeEvent *i, int j) + { + i->mode = j; + } + +-int XFocusChangeEvent_window(i) +-XFocusChangeEvent* i; ++int ++XFocusChangeEvent_window (XFocusChangeEvent *i) + { + return(i->window); + } + +-void set_XFocusChangeEvent_window(i, j) +-XFocusChangeEvent* i; +-int j; ++void ++set_XFocusChangeEvent_window (XFocusChangeEvent *i, int j) + { + i->window = j; + } + +-long XFocusChangeEvent_display(i) +-XFocusChangeEvent* i; ++long ++XFocusChangeEvent_display (XFocusChangeEvent *i) + { + return((long) i->display); + } + +-void set_XFocusChangeEvent_display(i, j) +-XFocusChangeEvent* i; +-long j; ++void ++set_XFocusChangeEvent_display (XFocusChangeEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XFocusChangeEvent_send_event(i) +-XFocusChangeEvent* i; ++int ++XFocusChangeEvent_send_event (XFocusChangeEvent *i) + { + return(i->send_event); + } + +-void set_XFocusChangeEvent_send_event(i, j) +-XFocusChangeEvent* i; +-int j; ++void ++set_XFocusChangeEvent_send_event (XFocusChangeEvent *i, int j) + { + i->send_event = j; + } + +-int XFocusChangeEvent_serial(i) +-XFocusChangeEvent* i; ++int ++XFocusChangeEvent_serial (XFocusChangeEvent *i) + { + return(i->serial); + } + +-void set_XFocusChangeEvent_serial(i, j) +-XFocusChangeEvent* i; +-int j; ++void ++set_XFocusChangeEvent_serial (XFocusChangeEvent *i, int j) + { + i->serial = j; + } + +-int XFocusChangeEvent_type(i) +-XFocusChangeEvent* i; ++int ++XFocusChangeEvent_type (XFocusChangeEvent *i) + { + return(i->type); + } + +-void set_XFocusChangeEvent_type(i, j) +-XFocusChangeEvent* i; +-int j; ++void ++set_XFocusChangeEvent_type (XFocusChangeEvent *i, int j) + { + i->type = j; + } +@@ -959,76 +894,72 @@ int j; + + /********* XKeymapEvent functions *****/ + +-long make_XKeymapEvent (){ ++long ++make_XKeymapEvent (void){ + return ((long) calloc(1, sizeof(XKeymapEvent))); + } + +-char* XKeymapEvent_key_vector(i) +-XKeymapEvent* i; ++char * ++XKeymapEvent_key_vector (XKeymapEvent *i) + { + return(i->key_vector); + } +-int XKeymapEvent_window(i) +-XKeymapEvent* i; ++int ++XKeymapEvent_window (XKeymapEvent *i) + { + return(i->window); + } + +-void set_XKeymapEvent_window(i, j) +-XKeymapEvent* i; +-int j; ++void ++set_XKeymapEvent_window (XKeymapEvent *i, int j) + { + i->window = j; + } + +-long XKeymapEvent_display(i) +-XKeymapEvent* i; ++long ++XKeymapEvent_display (XKeymapEvent *i) + { + return((long) i->display); + } + +-void set_XKeymapEvent_display(i, j) +-XKeymapEvent* i; +-long j; ++void ++set_XKeymapEvent_display (XKeymapEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XKeymapEvent_send_event(i) +-XKeymapEvent* i; ++int ++XKeymapEvent_send_event (XKeymapEvent *i) + { + return(i->send_event); + } + +-void set_XKeymapEvent_send_event(i, j) +-XKeymapEvent* i; +-int j; ++void ++set_XKeymapEvent_send_event (XKeymapEvent *i, int j) + { + i->send_event = j; + } + +-int XKeymapEvent_serial(i) +-XKeymapEvent* i; ++int ++XKeymapEvent_serial (XKeymapEvent *i) + { + return(i->serial); + } + +-void set_XKeymapEvent_serial(i, j) +-XKeymapEvent* i; +-int j; ++void ++set_XKeymapEvent_serial (XKeymapEvent *i, int j) + { + i->serial = j; + } + +-int XKeymapEvent_type(i) +-XKeymapEvent* i; ++int ++XKeymapEvent_type (XKeymapEvent *i) + { + return(i->type); + } + +-void set_XKeymapEvent_type(i, j) +-XKeymapEvent* i; +-int j; ++void ++set_XKeymapEvent_type (XKeymapEvent *i, int j) + { + i->type = j; + } +@@ -1036,136 +967,127 @@ int j; + + /********* XExposeEvent functions *****/ + +-long make_XExposeEvent (){ ++long ++make_XExposeEvent (void){ + return ((long) calloc(1, sizeof(XExposeEvent))); + } + +-int XExposeEvent_count(i) +-XExposeEvent* i; ++int ++XExposeEvent_count (XExposeEvent *i) + { + return(i->count); + } + +-void set_XExposeEvent_count(i, j) +-XExposeEvent* i; +-int j; ++void ++set_XExposeEvent_count (XExposeEvent *i, int j) + { + i->count = j; + } + +-int XExposeEvent_height(i) +-XExposeEvent* i; ++int ++XExposeEvent_height (XExposeEvent *i) + { + return(i->height); + } + +-void set_XExposeEvent_height(i, j) +-XExposeEvent* i; +-int j; ++void ++set_XExposeEvent_height (XExposeEvent *i, int j) + { + i->height = j; + } + +-int XExposeEvent_width(i) +-XExposeEvent* i; ++int ++XExposeEvent_width (XExposeEvent *i) + { + return(i->width); + } + +-void set_XExposeEvent_width(i, j) +-XExposeEvent* i; +-int j; ++void ++set_XExposeEvent_width (XExposeEvent *i, int j) + { + i->width = j; + } + +-int XExposeEvent_y(i) +-XExposeEvent* i; ++int ++XExposeEvent_y (XExposeEvent *i) + { + return(i->y); + } + +-void set_XExposeEvent_y(i, j) +-XExposeEvent* i; +-int j; ++void ++set_XExposeEvent_y (XExposeEvent *i, int j) + { + i->y = j; + } + +-int XExposeEvent_x(i) +-XExposeEvent* i; ++int ++XExposeEvent_x (XExposeEvent *i) + { + return(i->x); + } + +-void set_XExposeEvent_x(i, j) +-XExposeEvent* i; +-int j; ++void ++set_XExposeEvent_x (XExposeEvent *i, int j) + { + i->x = j; + } + +-int XExposeEvent_window(i) +-XExposeEvent* i; ++int ++XExposeEvent_window (XExposeEvent *i) + { + return(i->window); + } + +-void set_XExposeEvent_window(i, j) +-XExposeEvent* i; +-int j; ++void ++set_XExposeEvent_window (XExposeEvent *i, int j) + { + i->window = j; + } + +-long XExposeEvent_display(i) +-XExposeEvent* i; ++long ++XExposeEvent_display (XExposeEvent *i) + { + return((long) i->display); + } + +-void set_XExposeEvent_display(i, j) +-XExposeEvent* i; +-long j; ++void ++set_XExposeEvent_display (XExposeEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XExposeEvent_send_event(i) +-XExposeEvent* i; ++int ++XExposeEvent_send_event (XExposeEvent *i) + { + return(i->send_event); + } + +-void set_XExposeEvent_send_event(i, j) +-XExposeEvent* i; +-int j; ++void ++set_XExposeEvent_send_event (XExposeEvent *i, int j) + { + i->send_event = j; + } + +-int XExposeEvent_serial(i) +-XExposeEvent* i; ++int ++XExposeEvent_serial (XExposeEvent *i) + { + return(i->serial); + } + +-void set_XExposeEvent_serial(i, j) +-XExposeEvent* i; +-int j; ++void ++set_XExposeEvent_serial (XExposeEvent *i, int j) + { + i->serial = j; + } + +-int XExposeEvent_type(i) +-XExposeEvent* i; ++int ++XExposeEvent_type (XExposeEvent *i) + { + return(i->type); + } + +-void set_XExposeEvent_type(i, j) +-XExposeEvent* i; +-int j; ++void ++set_XExposeEvent_type (XExposeEvent *i, int j) + { + i->type = j; + } +@@ -1173,162 +1095,151 @@ int j; + + /********* XGraphicsExposeEvent functions *****/ + +-long make_XGraphicsExposeEvent (){ ++long ++make_XGraphicsExposeEvent (void){ + return ((long) calloc(1, sizeof(XGraphicsExposeEvent))); + } + +-int XGraphicsExposeEvent_minor_code(i) +-XGraphicsExposeEvent* i; ++int ++XGraphicsExposeEvent_minor_code (XGraphicsExposeEvent *i) + { + return(i->minor_code); + } + +-void set_XGraphicsExposeEvent_minor_code(i, j) +-XGraphicsExposeEvent* i; +-int j; ++void ++set_XGraphicsExposeEvent_minor_code (XGraphicsExposeEvent *i, int j) + { + i->minor_code = j; + } + +-int XGraphicsExposeEvent_major_code(i) +-XGraphicsExposeEvent* i; ++int ++XGraphicsExposeEvent_major_code (XGraphicsExposeEvent *i) + { + return(i->major_code); + } + +-void set_XGraphicsExposeEvent_major_code(i, j) +-XGraphicsExposeEvent* i; +-int j; ++void ++set_XGraphicsExposeEvent_major_code (XGraphicsExposeEvent *i, int j) + { + i->major_code = j; + } + +-int XGraphicsExposeEvent_count(i) +-XGraphicsExposeEvent* i; ++int ++XGraphicsExposeEvent_count (XGraphicsExposeEvent *i) + { + return(i->count); + } + +-void set_XGraphicsExposeEvent_count(i, j) +-XGraphicsExposeEvent* i; +-int j; ++void ++set_XGraphicsExposeEvent_count (XGraphicsExposeEvent *i, int j) + { + i->count = j; + } + +-int XGraphicsExposeEvent_height(i) +-XGraphicsExposeEvent* i; ++int ++XGraphicsExposeEvent_height (XGraphicsExposeEvent *i) + { + return(i->height); + } + +-void set_XGraphicsExposeEvent_height(i, j) +-XGraphicsExposeEvent* i; +-int j; ++void ++set_XGraphicsExposeEvent_height (XGraphicsExposeEvent *i, int j) + { + i->height = j; + } + +-int XGraphicsExposeEvent_width(i) +-XGraphicsExposeEvent* i; ++int ++XGraphicsExposeEvent_width (XGraphicsExposeEvent *i) + { + return(i->width); + } + +-void set_XGraphicsExposeEvent_width(i, j) +-XGraphicsExposeEvent* i; +-int j; ++void ++set_XGraphicsExposeEvent_width (XGraphicsExposeEvent *i, int j) + { + i->width = j; + } + +-int XGraphicsExposeEvent_y(i) +-XGraphicsExposeEvent* i; ++int ++XGraphicsExposeEvent_y (XGraphicsExposeEvent *i) + { + return(i->y); + } + +-void set_XGraphicsExposeEvent_y(i, j) +-XGraphicsExposeEvent* i; +-int j; ++void ++set_XGraphicsExposeEvent_y (XGraphicsExposeEvent *i, int j) + { + i->y = j; + } + +-int XGraphicsExposeEvent_x(i) +-XGraphicsExposeEvent* i; ++int ++XGraphicsExposeEvent_x (XGraphicsExposeEvent *i) + { + return(i->x); + } + +-void set_XGraphicsExposeEvent_x(i, j) +-XGraphicsExposeEvent* i; +-int j; ++void ++set_XGraphicsExposeEvent_x (XGraphicsExposeEvent *i, int j) + { + i->x = j; + } + +-Drawable XGraphicsExposeEvent_drawable(i) +-XGraphicsExposeEvent* i; ++Drawable ++XGraphicsExposeEvent_drawable (XGraphicsExposeEvent *i) + { + return(i->drawable); + } + +-void set_XGraphicsExposeEvent_drawable(i, j) +-XGraphicsExposeEvent* i; +-Drawable j; ++void ++set_XGraphicsExposeEvent_drawable (XGraphicsExposeEvent *i, Drawable j) + { + i->drawable = j; + } + +-long XGraphicsExposeEvent_display(i) +-XGraphicsExposeEvent* i; ++long ++XGraphicsExposeEvent_display (XGraphicsExposeEvent *i) + { + return((long) i->display); + } + +-void set_XGraphicsExposeEvent_display(i, j) +-XGraphicsExposeEvent* i; +-long j; ++void ++set_XGraphicsExposeEvent_display (XGraphicsExposeEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XGraphicsExposeEvent_send_event(i) +-XGraphicsExposeEvent* i; ++int ++XGraphicsExposeEvent_send_event (XGraphicsExposeEvent *i) + { + return(i->send_event); + } + +-void set_XGraphicsExposeEvent_send_event(i, j) +-XGraphicsExposeEvent* i; +-int j; ++void ++set_XGraphicsExposeEvent_send_event (XGraphicsExposeEvent *i, int j) + { + i->send_event = j; + } + +-int XGraphicsExposeEvent_serial(i) +-XGraphicsExposeEvent* i; ++int ++XGraphicsExposeEvent_serial (XGraphicsExposeEvent *i) + { + return(i->serial); + } + +-void set_XGraphicsExposeEvent_serial(i, j) +-XGraphicsExposeEvent* i; +-int j; ++void ++set_XGraphicsExposeEvent_serial (XGraphicsExposeEvent *i, int j) + { + i->serial = j; + } + +-int XGraphicsExposeEvent_type(i) +-XGraphicsExposeEvent* i; ++int ++XGraphicsExposeEvent_type (XGraphicsExposeEvent *i) + { + return(i->type); + } + +-void set_XGraphicsExposeEvent_type(i, j) +-XGraphicsExposeEvent* i; +-int j; ++void ++set_XGraphicsExposeEvent_type (XGraphicsExposeEvent *i, int j) + { + i->type = j; + } +@@ -1336,97 +1247,91 @@ int j; + + /********* XNoExposeEvent functions *****/ + +-long make_XNoExposeEvent (){ ++long ++make_XNoExposeEvent (void){ + return ((long) calloc(1, sizeof(XNoExposeEvent))); + } + +-int XNoExposeEvent_minor_code(i) +-XNoExposeEvent* i; ++int ++XNoExposeEvent_minor_code (XNoExposeEvent *i) + { + return(i->minor_code); + } + +-void set_XNoExposeEvent_minor_code(i, j) +-XNoExposeEvent* i; +-int j; ++void ++set_XNoExposeEvent_minor_code (XNoExposeEvent *i, int j) + { + i->minor_code = j; + } + +-int XNoExposeEvent_major_code(i) +-XNoExposeEvent* i; ++int ++XNoExposeEvent_major_code (XNoExposeEvent *i) + { + return(i->major_code); + } + +-void set_XNoExposeEvent_major_code(i, j) +-XNoExposeEvent* i; +-int j; ++void ++set_XNoExposeEvent_major_code (XNoExposeEvent *i, int j) + { + i->major_code = j; + } + +-Drawable XNoExposeEvent_drawable(i) +-XNoExposeEvent* i; ++Drawable ++XNoExposeEvent_drawable (XNoExposeEvent *i) + { + return(i->drawable); + } + +-void set_XNoExposeEvent_drawable(i, j) +-XNoExposeEvent* i; +-Drawable j; ++void ++set_XNoExposeEvent_drawable (XNoExposeEvent *i, Drawable j) + { + i->drawable = j; + } + +-long XNoExposeEvent_display(i) +-XNoExposeEvent* i; ++long ++XNoExposeEvent_display (XNoExposeEvent *i) + { + return((long) i->display); + } + +-void set_XNoExposeEvent_display(i, j) +-XNoExposeEvent* i; +-long j; ++void ++set_XNoExposeEvent_display (XNoExposeEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XNoExposeEvent_send_event(i) +-XNoExposeEvent* i; ++int ++XNoExposeEvent_send_event (XNoExposeEvent *i) + { + return(i->send_event); + } + +-void set_XNoExposeEvent_send_event(i, j) +-XNoExposeEvent* i; +-int j; ++void ++set_XNoExposeEvent_send_event (XNoExposeEvent *i, int j) + { + i->send_event = j; + } + +-int XNoExposeEvent_serial(i) +-XNoExposeEvent* i; ++int ++XNoExposeEvent_serial (XNoExposeEvent *i) + { + return(i->serial); + } + +-void set_XNoExposeEvent_serial(i, j) +-XNoExposeEvent* i; +-int j; ++void ++set_XNoExposeEvent_serial (XNoExposeEvent *i, int j) + { + i->serial = j; + } + +-int XNoExposeEvent_type(i) +-XNoExposeEvent* i; ++int ++XNoExposeEvent_type (XNoExposeEvent *i) + { + return(i->type); + } + +-void set_XNoExposeEvent_type(i, j) +-XNoExposeEvent* i; +-int j; ++void ++set_XNoExposeEvent_type (XNoExposeEvent *i, int j) + { + i->type = j; + } +@@ -1434,84 +1339,79 @@ int j; + + /********* XVisibilityEvent functions *****/ + +-long make_XVisibilityEvent (){ ++long ++make_XVisibilityEvent (void){ + return ((long) calloc(1, sizeof(XVisibilityEvent))); + } + +-int XVisibilityEvent_state(i) +-XVisibilityEvent* i; ++int ++XVisibilityEvent_state (XVisibilityEvent *i) + { + return(i->state); + } + +-void set_XVisibilityEvent_state(i, j) +-XVisibilityEvent* i; +-int j; ++void ++set_XVisibilityEvent_state (XVisibilityEvent *i, int j) + { + i->state = j; + } + +-int XVisibilityEvent_window(i) +-XVisibilityEvent* i; ++int ++XVisibilityEvent_window (XVisibilityEvent *i) + { + return(i->window); + } + +-void set_XVisibilityEvent_window(i, j) +-XVisibilityEvent* i; +-int j; ++void ++set_XVisibilityEvent_window (XVisibilityEvent *i, int j) + { + i->window = j; + } + +-long XVisibilityEvent_display(i) +-XVisibilityEvent* i; ++long ++XVisibilityEvent_display (XVisibilityEvent *i) + { + return((long) i->display); + } + +-void set_XVisibilityEvent_display(i, j) +-XVisibilityEvent* i; +-long j; ++void ++set_XVisibilityEvent_display (XVisibilityEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XVisibilityEvent_send_event(i) +-XVisibilityEvent* i; ++int ++XVisibilityEvent_send_event (XVisibilityEvent *i) + { + return(i->send_event); + } + +-void set_XVisibilityEvent_send_event(i, j) +-XVisibilityEvent* i; +-int j; ++void ++set_XVisibilityEvent_send_event (XVisibilityEvent *i, int j) + { + i->send_event = j; + } + +-int XVisibilityEvent_serial(i) +-XVisibilityEvent* i; ++int ++XVisibilityEvent_serial (XVisibilityEvent *i) + { + return(i->serial); + } + +-void set_XVisibilityEvent_serial(i, j) +-XVisibilityEvent* i; +-int j; ++void ++set_XVisibilityEvent_serial (XVisibilityEvent *i, int j) + { + i->serial = j; + } + +-int XVisibilityEvent_type(i) +-XVisibilityEvent* i; ++int ++XVisibilityEvent_type (XVisibilityEvent *i) + { + return(i->type); + } + +-void set_XVisibilityEvent_type(i, j) +-XVisibilityEvent* i; +-int j; ++void ++set_XVisibilityEvent_type (XVisibilityEvent *i, int j) + { + i->type = j; + } +@@ -1519,162 +1419,151 @@ int j; + + /********* XCreateWindowEvent functions *****/ + +-long make_XCreateWindowEvent (){ ++long ++make_XCreateWindowEvent (void){ + return ((long) calloc(1, sizeof(XCreateWindowEvent))); + } + +-int XCreateWindowEvent_override_redirect(i) +-XCreateWindowEvent* i; ++int ++XCreateWindowEvent_override_redirect (XCreateWindowEvent *i) + { + return(i->override_redirect); + } + +-void set_XCreateWindowEvent_override_redirect(i, j) +-XCreateWindowEvent* i; +-int j; ++void ++set_XCreateWindowEvent_override_redirect (XCreateWindowEvent *i, int j) + { + i->override_redirect = j; + } + +-int XCreateWindowEvent_border_width(i) +-XCreateWindowEvent* i; ++int ++XCreateWindowEvent_border_width (XCreateWindowEvent *i) + { + return(i->border_width); + } + +-void set_XCreateWindowEvent_border_width(i, j) +-XCreateWindowEvent* i; +-int j; ++void ++set_XCreateWindowEvent_border_width (XCreateWindowEvent *i, int j) + { + i->border_width = j; + } + +-int XCreateWindowEvent_height(i) +-XCreateWindowEvent* i; ++int ++XCreateWindowEvent_height (XCreateWindowEvent *i) + { + return(i->height); + } + +-void set_XCreateWindowEvent_height(i, j) +-XCreateWindowEvent* i; +-int j; ++void ++set_XCreateWindowEvent_height (XCreateWindowEvent *i, int j) + { + i->height = j; + } + +-int XCreateWindowEvent_width(i) +-XCreateWindowEvent* i; ++int ++XCreateWindowEvent_width (XCreateWindowEvent *i) + { + return(i->width); + } + +-void set_XCreateWindowEvent_width(i, j) +-XCreateWindowEvent* i; +-int j; ++void ++set_XCreateWindowEvent_width (XCreateWindowEvent *i, int j) + { + i->width = j; + } + +-int XCreateWindowEvent_y(i) +-XCreateWindowEvent* i; ++int ++XCreateWindowEvent_y (XCreateWindowEvent *i) + { + return(i->y); + } + +-void set_XCreateWindowEvent_y(i, j) +-XCreateWindowEvent* i; +-int j; ++void ++set_XCreateWindowEvent_y (XCreateWindowEvent *i, int j) + { + i->y = j; + } + +-int XCreateWindowEvent_x(i) +-XCreateWindowEvent* i; ++int ++XCreateWindowEvent_x (XCreateWindowEvent *i) + { + return(i->x); + } + +-void set_XCreateWindowEvent_x(i, j) +-XCreateWindowEvent* i; +-int j; ++void ++set_XCreateWindowEvent_x (XCreateWindowEvent *i, int j) + { + i->x = j; + } + +-int XCreateWindowEvent_window(i) +-XCreateWindowEvent* i; ++int ++XCreateWindowEvent_window (XCreateWindowEvent *i) + { + return(i->window); + } + +-void set_XCreateWindowEvent_window(i, j) +-XCreateWindowEvent* i; +-int j; ++void ++set_XCreateWindowEvent_window (XCreateWindowEvent *i, int j) + { + i->window = j; + } + +-int XCreateWindowEvent_parent(i) +-XCreateWindowEvent* i; ++int ++XCreateWindowEvent_parent (XCreateWindowEvent *i) + { + return(i->parent); + } + +-void set_XCreateWindowEvent_parent(i, j) +-XCreateWindowEvent* i; +-int j; ++void ++set_XCreateWindowEvent_parent (XCreateWindowEvent *i, int j) + { + i->parent = j; + } + +-long XCreateWindowEvent_display(i) +-XCreateWindowEvent* i; ++long ++XCreateWindowEvent_display (XCreateWindowEvent *i) + { + return((long) i->display); + } + +-void set_XCreateWindowEvent_display(i, j) +-XCreateWindowEvent* i; +-long j; ++void ++set_XCreateWindowEvent_display (XCreateWindowEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XCreateWindowEvent_send_event(i) +-XCreateWindowEvent* i; ++int ++XCreateWindowEvent_send_event (XCreateWindowEvent *i) + { + return(i->send_event); + } + +-void set_XCreateWindowEvent_send_event(i, j) +-XCreateWindowEvent* i; +-int j; ++void ++set_XCreateWindowEvent_send_event (XCreateWindowEvent *i, int j) + { + i->send_event = j; + } + +-int XCreateWindowEvent_serial(i) +-XCreateWindowEvent* i; ++int ++XCreateWindowEvent_serial (XCreateWindowEvent *i) + { + return(i->serial); + } + +-void set_XCreateWindowEvent_serial(i, j) +-XCreateWindowEvent* i; +-int j; ++void ++set_XCreateWindowEvent_serial (XCreateWindowEvent *i, int j) + { + i->serial = j; + } + +-int XCreateWindowEvent_type(i) +-XCreateWindowEvent* i; ++int ++XCreateWindowEvent_type (XCreateWindowEvent *i) + { + return(i->type); + } + +-void set_XCreateWindowEvent_type(i, j) +-XCreateWindowEvent* i; +-int j; ++void ++set_XCreateWindowEvent_type (XCreateWindowEvent *i, int j) + { + i->type = j; + } +@@ -1682,84 +1571,79 @@ int j; + + /********* XDestroyWindowEvent functions *****/ + +-long make_XDestroyWindowEvent (){ ++long ++make_XDestroyWindowEvent (void){ + return ((long) calloc(1, sizeof(XDestroyWindowEvent))); + } + +-int XDestroyWindowEvent_window(i) +-XDestroyWindowEvent* i; ++int ++XDestroyWindowEvent_window (XDestroyWindowEvent *i) + { + return(i->window); + } + +-void set_XDestroyWindowEvent_window(i, j) +-XDestroyWindowEvent* i; +-int j; ++void ++set_XDestroyWindowEvent_window (XDestroyWindowEvent *i, int j) + { + i->window = j; + } + +-int XDestroyWindowEvent_event(i) +-XDestroyWindowEvent* i; ++int ++XDestroyWindowEvent_event (XDestroyWindowEvent *i) + { + return(i->event); + } + +-void set_XDestroyWindowEvent_event(i, j) +-XDestroyWindowEvent* i; +-int j; ++void ++set_XDestroyWindowEvent_event (XDestroyWindowEvent *i, int j) + { + i->event = j; + } + +-long XDestroyWindowEvent_display(i) +-XDestroyWindowEvent* i; ++long ++XDestroyWindowEvent_display (XDestroyWindowEvent *i) + { + return((long) i->display); + } + +-void set_XDestroyWindowEvent_display(i, j) +-XDestroyWindowEvent* i; +-long j; ++void ++set_XDestroyWindowEvent_display (XDestroyWindowEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XDestroyWindowEvent_send_event(i) +-XDestroyWindowEvent* i; ++int ++XDestroyWindowEvent_send_event (XDestroyWindowEvent *i) + { + return(i->send_event); + } + +-void set_XDestroyWindowEvent_send_event(i, j) +-XDestroyWindowEvent* i; +-int j; ++void ++set_XDestroyWindowEvent_send_event (XDestroyWindowEvent *i, int j) + { + i->send_event = j; + } + +-int XDestroyWindowEvent_serial(i) +-XDestroyWindowEvent* i; ++int ++XDestroyWindowEvent_serial (XDestroyWindowEvent *i) + { + return(i->serial); + } + +-void set_XDestroyWindowEvent_serial(i, j) +-XDestroyWindowEvent* i; +-int j; ++void ++set_XDestroyWindowEvent_serial (XDestroyWindowEvent *i, int j) + { + i->serial = j; + } + +-int XDestroyWindowEvent_type(i) +-XDestroyWindowEvent* i; ++int ++XDestroyWindowEvent_type (XDestroyWindowEvent *i) + { + return(i->type); + } + +-void set_XDestroyWindowEvent_type(i, j) +-XDestroyWindowEvent* i; +-int j; ++void ++set_XDestroyWindowEvent_type (XDestroyWindowEvent *i, int j) + { + i->type = j; + } +@@ -1767,97 +1651,91 @@ int j; + + /********* XUnmapEvent functions *****/ + +-long make_XUnmapEvent (){ ++long ++make_XUnmapEvent (void){ + return ((long) calloc(1, sizeof(XUnmapEvent))); + } + +-int XUnmapEvent_from_configure(i) +-XUnmapEvent* i; ++int ++XUnmapEvent_from_configure (XUnmapEvent *i) + { + return(i->from_configure); + } + +-void set_XUnmapEvent_from_configure(i, j) +-XUnmapEvent* i; +-int j; ++void ++set_XUnmapEvent_from_configure (XUnmapEvent *i, int j) + { + i->from_configure = j; + } + +-int XUnmapEvent_window(i) +-XUnmapEvent* i; ++int ++XUnmapEvent_window (XUnmapEvent *i) + { + return(i->window); + } + +-void set_XUnmapEvent_window(i, j) +-XUnmapEvent* i; +-int j; ++void ++set_XUnmapEvent_window (XUnmapEvent *i, int j) + { + i->window = j; + } + +-int XUnmapEvent_event(i) +-XUnmapEvent* i; ++int ++XUnmapEvent_event (XUnmapEvent *i) + { + return(i->event); + } + +-void set_XUnmapEvent_event(i, j) +-XUnmapEvent* i; +-int j; ++void ++set_XUnmapEvent_event (XUnmapEvent *i, int j) + { + i->event = j; + } + +-long XUnmapEvent_display(i) +-XUnmapEvent* i; ++long ++XUnmapEvent_display (XUnmapEvent *i) + { + return((long) i->display); + } + +-void set_XUnmapEvent_display(i, j) +-XUnmapEvent* i; +-long j; ++void ++set_XUnmapEvent_display (XUnmapEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XUnmapEvent_send_event(i) +-XUnmapEvent* i; ++int ++XUnmapEvent_send_event (XUnmapEvent *i) + { + return(i->send_event); + } + +-void set_XUnmapEvent_send_event(i, j) +-XUnmapEvent* i; +-int j; ++void ++set_XUnmapEvent_send_event (XUnmapEvent *i, int j) + { + i->send_event = j; + } + +-int XUnmapEvent_serial(i) +-XUnmapEvent* i; ++int ++XUnmapEvent_serial (XUnmapEvent *i) + { + return(i->serial); + } + +-void set_XUnmapEvent_serial(i, j) +-XUnmapEvent* i; +-int j; ++void ++set_XUnmapEvent_serial (XUnmapEvent *i, int j) + { + i->serial = j; + } + +-int XUnmapEvent_type(i) +-XUnmapEvent* i; ++int ++XUnmapEvent_type (XUnmapEvent *i) + { + return(i->type); + } + +-void set_XUnmapEvent_type(i, j) +-XUnmapEvent* i; +-int j; ++void ++set_XUnmapEvent_type (XUnmapEvent *i, int j) + { + i->type = j; + } +@@ -1865,97 +1743,91 @@ int j; + + /********* XMapEvent functions *****/ + +-long make_XMapEvent (){ ++long ++make_XMapEvent (void){ + return ((long) calloc(1, sizeof(XMapEvent))); + } + +-int XMapEvent_override_redirect(i) +-XMapEvent* i; ++int ++XMapEvent_override_redirect (XMapEvent *i) + { + return(i->override_redirect); + } + +-void set_XMapEvent_override_redirect(i, j) +-XMapEvent* i; +-int j; ++void ++set_XMapEvent_override_redirect (XMapEvent *i, int j) + { + i->override_redirect = j; + } + +-int XMapEvent_window(i) +-XMapEvent* i; ++int ++XMapEvent_window (XMapEvent *i) + { + return(i->window); + } + +-void set_XMapEvent_window(i, j) +-XMapEvent* i; +-int j; ++void ++set_XMapEvent_window (XMapEvent *i, int j) + { + i->window = j; + } + +-int XMapEvent_event(i) +-XMapEvent* i; ++int ++XMapEvent_event (XMapEvent *i) + { + return(i->event); + } + +-void set_XMapEvent_event(i, j) +-XMapEvent* i; +-int j; ++void ++set_XMapEvent_event (XMapEvent *i, int j) + { + i->event = j; + } + +-long XMapEvent_display(i) +-XMapEvent* i; ++long ++XMapEvent_display (XMapEvent *i) + { + return((long) i->display); + } + +-void set_XMapEvent_display(i, j) +-XMapEvent* i; +-long j; ++void ++set_XMapEvent_display (XMapEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XMapEvent_send_event(i) +-XMapEvent* i; ++int ++XMapEvent_send_event (XMapEvent *i) + { + return(i->send_event); + } + +-void set_XMapEvent_send_event(i, j) +-XMapEvent* i; +-int j; ++void ++set_XMapEvent_send_event (XMapEvent *i, int j) + { + i->send_event = j; + } + +-int XMapEvent_serial(i) +-XMapEvent* i; ++int ++XMapEvent_serial (XMapEvent *i) + { + return(i->serial); + } + +-void set_XMapEvent_serial(i, j) +-XMapEvent* i; +-int j; ++void ++set_XMapEvent_serial (XMapEvent *i, int j) + { + i->serial = j; + } + +-int XMapEvent_type(i) +-XMapEvent* i; ++int ++XMapEvent_type (XMapEvent *i) + { + return(i->type); + } + +-void set_XMapEvent_type(i, j) +-XMapEvent* i; +-int j; ++void ++set_XMapEvent_type (XMapEvent *i, int j) + { + i->type = j; + } +@@ -1963,84 +1835,79 @@ int j; + + /********* XMapRequestEvent functions *****/ + +-long make_XMapRequestEvent (){ ++long ++make_XMapRequestEvent (void){ + return ((long) calloc(1, sizeof(XMapRequestEvent))); + } + +-int XMapRequestEvent_window(i) +-XMapRequestEvent* i; ++int ++XMapRequestEvent_window (XMapRequestEvent *i) + { + return(i->window); + } + +-void set_XMapRequestEvent_window(i, j) +-XMapRequestEvent* i; +-int j; ++void ++set_XMapRequestEvent_window (XMapRequestEvent *i, int j) + { + i->window = j; + } + +-int XMapRequestEvent_parent(i) +-XMapRequestEvent* i; ++int ++XMapRequestEvent_parent (XMapRequestEvent *i) + { + return(i->parent); + } + +-void set_XMapRequestEvent_parent(i, j) +-XMapRequestEvent* i; +-int j; ++void ++set_XMapRequestEvent_parent (XMapRequestEvent *i, int j) + { + i->parent = j; + } + +-long XMapRequestEvent_display(i) +-XMapRequestEvent* i; ++long ++XMapRequestEvent_display (XMapRequestEvent *i) + { + return((long) i->display); + } + +-void set_XMapRequestEvent_display(i, j) +-XMapRequestEvent* i; +-long j; ++void ++set_XMapRequestEvent_display (XMapRequestEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XMapRequestEvent_send_event(i) +-XMapRequestEvent* i; ++int ++XMapRequestEvent_send_event (XMapRequestEvent *i) + { + return(i->send_event); + } + +-void set_XMapRequestEvent_send_event(i, j) +-XMapRequestEvent* i; +-int j; ++void ++set_XMapRequestEvent_send_event (XMapRequestEvent *i, int j) + { + i->send_event = j; + } + +-int XMapRequestEvent_serial(i) +-XMapRequestEvent* i; ++int ++XMapRequestEvent_serial (XMapRequestEvent *i) + { + return(i->serial); + } + +-void set_XMapRequestEvent_serial(i, j) +-XMapRequestEvent* i; +-int j; ++void ++set_XMapRequestEvent_serial (XMapRequestEvent *i, int j) + { + i->serial = j; + } + +-int XMapRequestEvent_type(i) +-XMapRequestEvent* i; ++int ++XMapRequestEvent_type (XMapRequestEvent *i) + { + return(i->type); + } + +-void set_XMapRequestEvent_type(i, j) +-XMapRequestEvent* i; +-int j; ++void ++set_XMapRequestEvent_type (XMapRequestEvent *i, int j) + { + i->type = j; + } +@@ -2048,136 +1915,127 @@ int j; + + /********* XReparentEvent functions *****/ + +-long make_XReparentEvent (){ ++long ++make_XReparentEvent (void){ + return ((long) calloc(1, sizeof(XReparentEvent))); + } + +-int XReparentEvent_override_redirect(i) +-XReparentEvent* i; ++int ++XReparentEvent_override_redirect (XReparentEvent *i) + { + return(i->override_redirect); + } + +-void set_XReparentEvent_override_redirect(i, j) +-XReparentEvent* i; +-int j; ++void ++set_XReparentEvent_override_redirect (XReparentEvent *i, int j) + { + i->override_redirect = j; + } + +-int XReparentEvent_y(i) +-XReparentEvent* i; ++int ++XReparentEvent_y (XReparentEvent *i) + { + return(i->y); + } + +-void set_XReparentEvent_y(i, j) +-XReparentEvent* i; +-int j; ++void ++set_XReparentEvent_y (XReparentEvent *i, int j) + { + i->y = j; + } + +-int XReparentEvent_x(i) +-XReparentEvent* i; ++int ++XReparentEvent_x (XReparentEvent *i) + { + return(i->x); + } + +-void set_XReparentEvent_x(i, j) +-XReparentEvent* i; +-int j; ++void ++set_XReparentEvent_x (XReparentEvent *i, int j) + { + i->x = j; + } + +-int XReparentEvent_parent(i) +-XReparentEvent* i; ++int ++XReparentEvent_parent (XReparentEvent *i) + { + return(i->parent); + } + +-void set_XReparentEvent_parent(i, j) +-XReparentEvent* i; +-int j; ++void ++set_XReparentEvent_parent (XReparentEvent *i, int j) + { + i->parent = j; + } + +-int XReparentEvent_window(i) +-XReparentEvent* i; ++int ++XReparentEvent_window (XReparentEvent *i) + { + return(i->window); + } + +-void set_XReparentEvent_window(i, j) +-XReparentEvent* i; +-int j; ++void ++set_XReparentEvent_window (XReparentEvent *i, int j) + { + i->window = j; + } + +-int XReparentEvent_event(i) +-XReparentEvent* i; ++int ++XReparentEvent_event (XReparentEvent *i) + { + return(i->event); + } + +-void set_XReparentEvent_event(i, j) +-XReparentEvent* i; +-int j; ++void ++set_XReparentEvent_event (XReparentEvent *i, int j) + { + i->event = j; + } + +-long XReparentEvent_display(i) +-XReparentEvent* i; ++long ++XReparentEvent_display (XReparentEvent *i) + { + return((long) i->display); + } + +-void set_XReparentEvent_display(i, j) +-XReparentEvent* i; +-long j; ++void ++set_XReparentEvent_display (XReparentEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XReparentEvent_send_event(i) +-XReparentEvent* i; ++int ++XReparentEvent_send_event (XReparentEvent *i) + { + return(i->send_event); + } + +-void set_XReparentEvent_send_event(i, j) +-XReparentEvent* i; +-int j; ++void ++set_XReparentEvent_send_event (XReparentEvent *i, int j) + { + i->send_event = j; + } + +-int XReparentEvent_serial(i) +-XReparentEvent* i; ++int ++XReparentEvent_serial (XReparentEvent *i) + { + return(i->serial); + } + +-void set_XReparentEvent_serial(i, j) +-XReparentEvent* i; +-int j; ++void ++set_XReparentEvent_serial (XReparentEvent *i, int j) + { + i->serial = j; + } + +-int XReparentEvent_type(i) +-XReparentEvent* i; ++int ++XReparentEvent_type (XReparentEvent *i) + { + return(i->type); + } + +-void set_XReparentEvent_type(i, j) +-XReparentEvent* i; +-int j; ++void ++set_XReparentEvent_type (XReparentEvent *i, int j) + { + i->type = j; + } +@@ -2185,175 +2043,163 @@ int j; + + /********* XConfigureEvent functions *****/ + +-long make_XConfigureEvent (){ ++long ++make_XConfigureEvent (void){ + return ((long) calloc(1, sizeof(XConfigureEvent))); + } + +-int XConfigureEvent_override_redirect(i) +-XConfigureEvent* i; ++int ++XConfigureEvent_override_redirect (XConfigureEvent *i) + { + return(i->override_redirect); + } + +-void set_XConfigureEvent_override_redirect(i, j) +-XConfigureEvent* i; +-int j; ++void ++set_XConfigureEvent_override_redirect (XConfigureEvent *i, int j) + { + i->override_redirect = j; + } + +-int XConfigureEvent_above(i) +-XConfigureEvent* i; ++int ++XConfigureEvent_above (XConfigureEvent *i) + { + return(i->above); + } + +-void set_XConfigureEvent_above(i, j) +-XConfigureEvent* i; +-int j; ++void ++set_XConfigureEvent_above (XConfigureEvent *i, int j) + { + i->above = j; + } + +-int XConfigureEvent_border_width(i) +-XConfigureEvent* i; ++int ++XConfigureEvent_border_width (XConfigureEvent *i) + { + return(i->border_width); + } + +-void set_XConfigureEvent_border_width(i, j) +-XConfigureEvent* i; +-int j; ++void ++set_XConfigureEvent_border_width (XConfigureEvent *i, int j) + { + i->border_width = j; + } + +-int XConfigureEvent_height(i) +-XConfigureEvent* i; ++int ++XConfigureEvent_height (XConfigureEvent *i) + { + return(i->height); + } + +-void set_XConfigureEvent_height(i, j) +-XConfigureEvent* i; +-int j; ++void ++set_XConfigureEvent_height (XConfigureEvent *i, int j) + { + i->height = j; + } + +-int XConfigureEvent_width(i) +-XConfigureEvent* i; ++int ++XConfigureEvent_width (XConfigureEvent *i) + { + return(i->width); + } + +-void set_XConfigureEvent_width(i, j) +-XConfigureEvent* i; +-int j; ++void ++set_XConfigureEvent_width (XConfigureEvent *i, int j) + { + i->width = j; + } + +-int XConfigureEvent_y(i) +-XConfigureEvent* i; ++int ++XConfigureEvent_y (XConfigureEvent *i) + { + return(i->y); + } + +-void set_XConfigureEvent_y(i, j) +-XConfigureEvent* i; +-int j; ++void ++set_XConfigureEvent_y (XConfigureEvent *i, int j) + { + i->y = j; + } + +-int XConfigureEvent_x(i) +-XConfigureEvent* i; ++int ++XConfigureEvent_x (XConfigureEvent *i) + { + return(i->x); + } + +-void set_XConfigureEvent_x(i, j) +-XConfigureEvent* i; +-int j; ++void ++set_XConfigureEvent_x (XConfigureEvent *i, int j) + { + i->x = j; + } + +-int XConfigureEvent_window(i) +-XConfigureEvent* i; ++int ++XConfigureEvent_window (XConfigureEvent *i) + { + return(i->window); + } + +-void set_XConfigureEvent_window(i, j) +-XConfigureEvent* i; +-int j; ++void ++set_XConfigureEvent_window (XConfigureEvent *i, int j) + { + i->window = j; + } + +-int XConfigureEvent_event(i) +-XConfigureEvent* i; ++int ++XConfigureEvent_event (XConfigureEvent *i) + { + return(i->event); + } + +-void set_XConfigureEvent_event(i, j) +-XConfigureEvent* i; +-int j; ++void ++set_XConfigureEvent_event (XConfigureEvent *i, int j) + { + i->event = j; + } + +-long XConfigureEvent_display(i) +-XConfigureEvent* i; ++long ++XConfigureEvent_display (XConfigureEvent *i) + { + return((long) i->display); + } + +-void set_XConfigureEvent_display(i, j) +-XConfigureEvent* i; +-long j; ++void ++set_XConfigureEvent_display (XConfigureEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XConfigureEvent_send_event(i) +-XConfigureEvent* i; ++int ++XConfigureEvent_send_event (XConfigureEvent *i) + { + return(i->send_event); + } + +-void set_XConfigureEvent_send_event(i, j) +-XConfigureEvent* i; +-int j; ++void ++set_XConfigureEvent_send_event (XConfigureEvent *i, int j) + { + i->send_event = j; + } + +-int XConfigureEvent_serial(i) +-XConfigureEvent* i; ++int ++XConfigureEvent_serial (XConfigureEvent *i) + { + return(i->serial); + } + +-void set_XConfigureEvent_serial(i, j) +-XConfigureEvent* i; +-int j; ++void ++set_XConfigureEvent_serial (XConfigureEvent *i, int j) + { + i->serial = j; + } + +-int XConfigureEvent_type(i) +-XConfigureEvent* i; ++int ++XConfigureEvent_type (XConfigureEvent *i) + { + return(i->type); + } + +-void set_XConfigureEvent_type(i, j) +-XConfigureEvent* i; +-int j; ++void ++set_XConfigureEvent_type (XConfigureEvent *i, int j) + { + i->type = j; + } +@@ -2361,110 +2207,103 @@ int j; + + /********* XGravityEvent functions *****/ + +-long make_XGravityEvent (){ ++long ++make_XGravityEvent (void){ + return ((long) calloc(1, sizeof(XGravityEvent))); + } + +-int XGravityEvent_y(i) +-XGravityEvent* i; ++int ++XGravityEvent_y (XGravityEvent *i) + { + return(i->y); + } + +-void set_XGravityEvent_y(i, j) +-XGravityEvent* i; +-int j; ++void ++set_XGravityEvent_y (XGravityEvent *i, int j) + { + i->y = j; + } + +-int XGravityEvent_x(i) +-XGravityEvent* i; ++int ++XGravityEvent_x (XGravityEvent *i) + { + return(i->x); + } + +-void set_XGravityEvent_x(i, j) +-XGravityEvent* i; +-int j; ++void ++set_XGravityEvent_x (XGravityEvent *i, int j) + { + i->x = j; + } + +-int XGravityEvent_window(i) +-XGravityEvent* i; ++int ++XGravityEvent_window (XGravityEvent *i) + { + return(i->window); + } + +-void set_XGravityEvent_window(i, j) +-XGravityEvent* i; +-int j; ++void ++set_XGravityEvent_window (XGravityEvent *i, int j) + { + i->window = j; + } + +-int XGravityEvent_event(i) +-XGravityEvent* i; ++int ++XGravityEvent_event (XGravityEvent *i) + { + return(i->event); + } + +-void set_XGravityEvent_event(i, j) +-XGravityEvent* i; +-int j; ++void ++set_XGravityEvent_event (XGravityEvent *i, int j) + { + i->event = j; + } + +-long XGravityEvent_display(i) +-XGravityEvent* i; ++long ++XGravityEvent_display (XGravityEvent *i) + { + return((long) i->display); + } + +-void set_XGravityEvent_display(i, j) +-XGravityEvent* i; +-long j; ++void ++set_XGravityEvent_display (XGravityEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XGravityEvent_send_event(i) +-XGravityEvent* i; ++int ++XGravityEvent_send_event (XGravityEvent *i) + { + return(i->send_event); + } + +-void set_XGravityEvent_send_event(i, j) +-XGravityEvent* i; +-int j; ++void ++set_XGravityEvent_send_event (XGravityEvent *i, int j) + { + i->send_event = j; + } + +-int XGravityEvent_serial(i) +-XGravityEvent* i; ++int ++XGravityEvent_serial (XGravityEvent *i) + { + return(i->serial); + } + +-void set_XGravityEvent_serial(i, j) +-XGravityEvent* i; +-int j; ++void ++set_XGravityEvent_serial (XGravityEvent *i, int j) + { + i->serial = j; + } + +-int XGravityEvent_type(i) +-XGravityEvent* i; ++int ++XGravityEvent_type (XGravityEvent *i) + { + return(i->type); + } + +-void set_XGravityEvent_type(i, j) +-XGravityEvent* i; +-int j; ++void ++set_XGravityEvent_type (XGravityEvent *i, int j) + { + i->type = j; + } +@@ -2472,97 +2311,91 @@ int j; + + /********* XResizeRequestEvent functions *****/ + +-long make_XResizeRequestEvent (){ ++long ++make_XResizeRequestEvent (void){ + return ((long) calloc(1, sizeof(XResizeRequestEvent))); + } + +-int XResizeRequestEvent_height(i) +-XResizeRequestEvent* i; ++int ++XResizeRequestEvent_height (XResizeRequestEvent *i) + { + return(i->height); + } + +-void set_XResizeRequestEvent_height(i, j) +-XResizeRequestEvent* i; +-int j; ++void ++set_XResizeRequestEvent_height (XResizeRequestEvent *i, int j) + { + i->height = j; + } + +-int XResizeRequestEvent_width(i) +-XResizeRequestEvent* i; ++int ++XResizeRequestEvent_width (XResizeRequestEvent *i) + { + return(i->width); + } + +-void set_XResizeRequestEvent_width(i, j) +-XResizeRequestEvent* i; +-int j; ++void ++set_XResizeRequestEvent_width (XResizeRequestEvent *i, int j) + { + i->width = j; + } + +-int XResizeRequestEvent_window(i) +-XResizeRequestEvent* i; ++int ++XResizeRequestEvent_window (XResizeRequestEvent *i) + { + return(i->window); + } + +-void set_XResizeRequestEvent_window(i, j) +-XResizeRequestEvent* i; +-int j; ++void ++set_XResizeRequestEvent_window (XResizeRequestEvent *i, int j) + { + i->window = j; + } + +-long XResizeRequestEvent_display(i) +-XResizeRequestEvent* i; ++long ++XResizeRequestEvent_display (XResizeRequestEvent *i) + { + return((long) i->display); + } + +-void set_XResizeRequestEvent_display(i, j) +-XResizeRequestEvent* i; +-long j; ++void ++set_XResizeRequestEvent_display (XResizeRequestEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XResizeRequestEvent_send_event(i) +-XResizeRequestEvent* i; ++int ++XResizeRequestEvent_send_event (XResizeRequestEvent *i) + { + return(i->send_event); + } + +-void set_XResizeRequestEvent_send_event(i, j) +-XResizeRequestEvent* i; +-int j; ++void ++set_XResizeRequestEvent_send_event (XResizeRequestEvent *i, int j) + { + i->send_event = j; + } + +-int XResizeRequestEvent_serial(i) +-XResizeRequestEvent* i; ++int ++XResizeRequestEvent_serial (XResizeRequestEvent *i) + { + return(i->serial); + } + +-void set_XResizeRequestEvent_serial(i, j) +-XResizeRequestEvent* i; +-int j; ++void ++set_XResizeRequestEvent_serial (XResizeRequestEvent *i, int j) + { + i->serial = j; + } + +-int XResizeRequestEvent_type(i) +-XResizeRequestEvent* i; ++int ++XResizeRequestEvent_type (XResizeRequestEvent *i) + { + return(i->type); + } + +-void set_XResizeRequestEvent_type(i, j) +-XResizeRequestEvent* i; +-int j; ++void ++set_XResizeRequestEvent_type (XResizeRequestEvent *i, int j) + { + i->type = j; + } +@@ -2570,188 +2403,175 @@ int j; + + /********* XConfigureRequestEvent functions *****/ + +-long make_XConfigureRequestEvent (){ ++long ++make_XConfigureRequestEvent (void){ + return ((long) calloc(1, sizeof(XConfigureRequestEvent))); + } + +-int XConfigureRequestEvent_value_mask(i) +-XConfigureRequestEvent* i; ++int ++XConfigureRequestEvent_value_mask (XConfigureRequestEvent *i) + { + return(i->value_mask); + } + +-void set_XConfigureRequestEvent_value_mask(i, j) +-XConfigureRequestEvent* i; +-int j; ++void ++set_XConfigureRequestEvent_value_mask (XConfigureRequestEvent *i, int j) + { + i->value_mask = j; + } + +-int XConfigureRequestEvent_detail(i) +-XConfigureRequestEvent* i; ++int ++XConfigureRequestEvent_detail (XConfigureRequestEvent *i) + { + return(i->detail); + } + +-void set_XConfigureRequestEvent_detail(i, j) +-XConfigureRequestEvent* i; +-int j; ++void ++set_XConfigureRequestEvent_detail (XConfigureRequestEvent *i, int j) + { + i->detail = j; + } + +-int XConfigureRequestEvent_above(i) +-XConfigureRequestEvent* i; ++int ++XConfigureRequestEvent_above (XConfigureRequestEvent *i) + { + return(i->above); + } + +-void set_XConfigureRequestEvent_above(i, j) +-XConfigureRequestEvent* i; +-int j; ++void ++set_XConfigureRequestEvent_above (XConfigureRequestEvent *i, int j) + { + i->above = j; + } + +-int XConfigureRequestEvent_border_width(i) +-XConfigureRequestEvent* i; ++int ++XConfigureRequestEvent_border_width (XConfigureRequestEvent *i) + { + return(i->border_width); + } + +-void set_XConfigureRequestEvent_border_width(i, j) +-XConfigureRequestEvent* i; +-int j; ++void ++set_XConfigureRequestEvent_border_width (XConfigureRequestEvent *i, int j) + { + i->border_width = j; + } + +-int XConfigureRequestEvent_height(i) +-XConfigureRequestEvent* i; ++int ++XConfigureRequestEvent_height (XConfigureRequestEvent *i) + { + return(i->height); + } + +-void set_XConfigureRequestEvent_height(i, j) +-XConfigureRequestEvent* i; +-int j; ++void ++set_XConfigureRequestEvent_height (XConfigureRequestEvent *i, int j) + { + i->height = j; + } + +-int XConfigureRequestEvent_width(i) +-XConfigureRequestEvent* i; ++int ++XConfigureRequestEvent_width (XConfigureRequestEvent *i) + { + return(i->width); + } + +-void set_XConfigureRequestEvent_width(i, j) +-XConfigureRequestEvent* i; +-int j; ++void ++set_XConfigureRequestEvent_width (XConfigureRequestEvent *i, int j) + { + i->width = j; + } + +-int XConfigureRequestEvent_y(i) +-XConfigureRequestEvent* i; ++int ++XConfigureRequestEvent_y (XConfigureRequestEvent *i) + { + return(i->y); + } + +-void set_XConfigureRequestEvent_y(i, j) +-XConfigureRequestEvent* i; +-int j; ++void ++set_XConfigureRequestEvent_y (XConfigureRequestEvent *i, int j) + { + i->y = j; + } + +-int XConfigureRequestEvent_x(i) +-XConfigureRequestEvent* i; ++int ++XConfigureRequestEvent_x (XConfigureRequestEvent *i) + { + return(i->x); + } + +-void set_XConfigureRequestEvent_x(i, j) +-XConfigureRequestEvent* i; +-int j; ++void ++set_XConfigureRequestEvent_x (XConfigureRequestEvent *i, int j) + { + i->x = j; + } + +-int XConfigureRequestEvent_window(i) +-XConfigureRequestEvent* i; ++int ++XConfigureRequestEvent_window (XConfigureRequestEvent *i) + { + return(i->window); + } + +-void set_XConfigureRequestEvent_window(i, j) +-XConfigureRequestEvent* i; +-int j; ++void ++set_XConfigureRequestEvent_window (XConfigureRequestEvent *i, int j) + { + i->window = j; + } + +-int XConfigureRequestEvent_parent(i) +-XConfigureRequestEvent* i; ++int ++XConfigureRequestEvent_parent (XConfigureRequestEvent *i) + { + return(i->parent); + } + +-void set_XConfigureRequestEvent_parent(i, j) +-XConfigureRequestEvent* i; +-int j; ++void ++set_XConfigureRequestEvent_parent (XConfigureRequestEvent *i, int j) + { + i->parent = j; + } + +-long XConfigureRequestEvent_display(i) +-XConfigureRequestEvent* i; ++long ++XConfigureRequestEvent_display (XConfigureRequestEvent *i) + { + return((long) i->display); + } + +-void set_XConfigureRequestEvent_display(i, j) +-XConfigureRequestEvent* i; +-long j; ++void ++set_XConfigureRequestEvent_display (XConfigureRequestEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XConfigureRequestEvent_send_event(i) +-XConfigureRequestEvent* i; ++int ++XConfigureRequestEvent_send_event (XConfigureRequestEvent *i) + { + return(i->send_event); + } + +-void set_XConfigureRequestEvent_send_event(i, j) +-XConfigureRequestEvent* i; +-int j; ++void ++set_XConfigureRequestEvent_send_event (XConfigureRequestEvent *i, int j) + { + i->send_event = j; + } + +-int XConfigureRequestEvent_serial(i) +-XConfigureRequestEvent* i; ++int ++XConfigureRequestEvent_serial (XConfigureRequestEvent *i) + { + return(i->serial); + } + +-void set_XConfigureRequestEvent_serial(i, j) +-XConfigureRequestEvent* i; +-int j; ++void ++set_XConfigureRequestEvent_serial (XConfigureRequestEvent *i, int j) + { + i->serial = j; + } + +-int XConfigureRequestEvent_type(i) +-XConfigureRequestEvent* i; ++int ++XConfigureRequestEvent_type (XConfigureRequestEvent *i) + { + return(i->type); + } + +-void set_XConfigureRequestEvent_type(i, j) +-XConfigureRequestEvent* i; +-int j; ++void ++set_XConfigureRequestEvent_type (XConfigureRequestEvent *i, int j) + { + i->type = j; + } +@@ -2759,97 +2579,91 @@ int j; + + /********* XCirculateEvent functions *****/ + +-long make_XCirculateEvent (){ ++long ++make_XCirculateEvent (void){ + return ((long) calloc(1, sizeof(XCirculateEvent))); + } + +-int XCirculateEvent_place(i) +-XCirculateEvent* i; ++int ++XCirculateEvent_place (XCirculateEvent *i) + { + return(i->place); + } + +-void set_XCirculateEvent_place(i, j) +-XCirculateEvent* i; +-int j; ++void ++set_XCirculateEvent_place (XCirculateEvent *i, int j) + { + i->place = j; + } + +-int XCirculateEvent_window(i) +-XCirculateEvent* i; ++int ++XCirculateEvent_window (XCirculateEvent *i) + { + return(i->window); + } + +-void set_XCirculateEvent_window(i, j) +-XCirculateEvent* i; +-int j; ++void ++set_XCirculateEvent_window (XCirculateEvent *i, int j) + { + i->window = j; + } + +-int XCirculateEvent_event(i) +-XCirculateEvent* i; ++int ++XCirculateEvent_event (XCirculateEvent *i) + { + return(i->event); + } + +-void set_XCirculateEvent_event(i, j) +-XCirculateEvent* i; +-int j; ++void ++set_XCirculateEvent_event (XCirculateEvent *i, int j) + { + i->event = j; + } + +-long XCirculateEvent_display(i) +-XCirculateEvent* i; ++long ++XCirculateEvent_display (XCirculateEvent *i) + { + return((long) i->display); + } + +-void set_XCirculateEvent_display(i, j) +-XCirculateEvent* i; +-long j; ++void ++set_XCirculateEvent_display (XCirculateEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XCirculateEvent_send_event(i) +-XCirculateEvent* i; ++int ++XCirculateEvent_send_event (XCirculateEvent *i) + { + return(i->send_event); + } + +-void set_XCirculateEvent_send_event(i, j) +-XCirculateEvent* i; +-int j; ++void ++set_XCirculateEvent_send_event (XCirculateEvent *i, int j) + { + i->send_event = j; + } + +-int XCirculateEvent_serial(i) +-XCirculateEvent* i; ++int ++XCirculateEvent_serial (XCirculateEvent *i) + { + return(i->serial); + } + +-void set_XCirculateEvent_serial(i, j) +-XCirculateEvent* i; +-int j; ++void ++set_XCirculateEvent_serial (XCirculateEvent *i, int j) + { + i->serial = j; + } + +-int XCirculateEvent_type(i) +-XCirculateEvent* i; ++int ++XCirculateEvent_type (XCirculateEvent *i) + { + return(i->type); + } + +-void set_XCirculateEvent_type(i, j) +-XCirculateEvent* i; +-int j; ++void ++set_XCirculateEvent_type (XCirculateEvent *i, int j) + { + i->type = j; + } +@@ -2857,97 +2671,91 @@ int j; + + /********* XCirculateRequestEvent functions *****/ + +-long make_XCirculateRequestEvent (){ ++long ++make_XCirculateRequestEvent (void){ + return ((long) calloc(1, sizeof(XCirculateRequestEvent))); + } + +-int XCirculateRequestEvent_place(i) +-XCirculateRequestEvent* i; ++int ++XCirculateRequestEvent_place (XCirculateRequestEvent *i) + { + return(i->place); + } + +-void set_XCirculateRequestEvent_place(i, j) +-XCirculateRequestEvent* i; +-int j; ++void ++set_XCirculateRequestEvent_place (XCirculateRequestEvent *i, int j) + { + i->place = j; + } + +-int XCirculateRequestEvent_window(i) +-XCirculateRequestEvent* i; ++int ++XCirculateRequestEvent_window (XCirculateRequestEvent *i) + { + return(i->window); + } + +-void set_XCirculateRequestEvent_window(i, j) +-XCirculateRequestEvent* i; +-int j; ++void ++set_XCirculateRequestEvent_window (XCirculateRequestEvent *i, int j) + { + i->window = j; + } + +-int XCirculateRequestEvent_parent(i) +-XCirculateRequestEvent* i; ++int ++XCirculateRequestEvent_parent (XCirculateRequestEvent *i) + { + return(i->parent); + } + +-void set_XCirculateRequestEvent_parent(i, j) +-XCirculateRequestEvent* i; +-int j; ++void ++set_XCirculateRequestEvent_parent (XCirculateRequestEvent *i, int j) + { + i->parent = j; + } + +-long XCirculateRequestEvent_display(i) +-XCirculateRequestEvent* i; ++long ++XCirculateRequestEvent_display (XCirculateRequestEvent *i) + { + return((long) i->display); + } + +-void set_XCirculateRequestEvent_display(i, j) +-XCirculateRequestEvent* i; +-long j; ++void ++set_XCirculateRequestEvent_display (XCirculateRequestEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XCirculateRequestEvent_send_event(i) +-XCirculateRequestEvent* i; ++int ++XCirculateRequestEvent_send_event (XCirculateRequestEvent *i) + { + return(i->send_event); + } + +-void set_XCirculateRequestEvent_send_event(i, j) +-XCirculateRequestEvent* i; +-int j; ++void ++set_XCirculateRequestEvent_send_event (XCirculateRequestEvent *i, int j) + { + i->send_event = j; + } + +-int XCirculateRequestEvent_serial(i) +-XCirculateRequestEvent* i; ++int ++XCirculateRequestEvent_serial (XCirculateRequestEvent *i) + { + return(i->serial); + } + +-void set_XCirculateRequestEvent_serial(i, j) +-XCirculateRequestEvent* i; +-int j; ++void ++set_XCirculateRequestEvent_serial (XCirculateRequestEvent *i, int j) + { + i->serial = j; + } + +-int XCirculateRequestEvent_type(i) +-XCirculateRequestEvent* i; ++int ++XCirculateRequestEvent_type (XCirculateRequestEvent *i) + { + return(i->type); + } + +-void set_XCirculateRequestEvent_type(i, j) +-XCirculateRequestEvent* i; +-int j; ++void ++set_XCirculateRequestEvent_type (XCirculateRequestEvent *i, int j) + { + i->type = j; + } +@@ -2955,110 +2763,103 @@ int j; + + /********* XPropertyEvent functions *****/ + +-long make_XPropertyEvent (){ ++long ++make_XPropertyEvent (void){ + return ((long) calloc(1, sizeof(XPropertyEvent))); + } + +-int XPropertyEvent_state(i) +-XPropertyEvent* i; ++int ++XPropertyEvent_state (XPropertyEvent *i) + { + return(i->state); + } + +-void set_XPropertyEvent_state(i, j) +-XPropertyEvent* i; +-int j; ++void ++set_XPropertyEvent_state (XPropertyEvent *i, int j) + { + i->state = j; + } + +-int XPropertyEvent_time(i) +-XPropertyEvent* i; ++int ++XPropertyEvent_time (XPropertyEvent *i) + { + return(i->time); + } + +-void set_XPropertyEvent_time(i, j) +-XPropertyEvent* i; +-int j; ++void ++set_XPropertyEvent_time (XPropertyEvent *i, int j) + { + i->time = j; + } + +-int XPropertyEvent_atom(i) +-XPropertyEvent* i; ++int ++XPropertyEvent_atom (XPropertyEvent *i) + { + return(i->atom); + } + +-void set_XPropertyEvent_atom(i, j) +-XPropertyEvent* i; +-int j; ++void ++set_XPropertyEvent_atom (XPropertyEvent *i, int j) + { + i->atom = j; + } + +-int XPropertyEvent_window(i) +-XPropertyEvent* i; ++int ++XPropertyEvent_window (XPropertyEvent *i) + { + return(i->window); + } + +-void set_XPropertyEvent_window(i, j) +-XPropertyEvent* i; +-int j; ++void ++set_XPropertyEvent_window (XPropertyEvent *i, int j) + { + i->window = j; + } + +-long XPropertyEvent_display(i) +-XPropertyEvent* i; ++long ++XPropertyEvent_display (XPropertyEvent *i) + { + return((long) i->display); + } + +-void set_XPropertyEvent_display(i, j) +-XPropertyEvent* i; +-long j; ++void ++set_XPropertyEvent_display (XPropertyEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XPropertyEvent_send_event(i) +-XPropertyEvent* i; ++int ++XPropertyEvent_send_event (XPropertyEvent *i) + { + return(i->send_event); + } + +-void set_XPropertyEvent_send_event(i, j) +-XPropertyEvent* i; +-int j; ++void ++set_XPropertyEvent_send_event (XPropertyEvent *i, int j) + { + i->send_event = j; + } + +-int XPropertyEvent_serial(i) +-XPropertyEvent* i; ++int ++XPropertyEvent_serial (XPropertyEvent *i) + { + return(i->serial); + } + +-void set_XPropertyEvent_serial(i, j) +-XPropertyEvent* i; +-int j; ++void ++set_XPropertyEvent_serial (XPropertyEvent *i, int j) + { + i->serial = j; + } + +-int XPropertyEvent_type(i) +-XPropertyEvent* i; ++int ++XPropertyEvent_type (XPropertyEvent *i) + { + return(i->type); + } + +-void set_XPropertyEvent_type(i, j) +-XPropertyEvent* i; +-int j; ++void ++set_XPropertyEvent_type (XPropertyEvent *i, int j) + { + i->type = j; + } +@@ -3066,97 +2867,91 @@ int j; + + /********* XSelectionClearEvent functions *****/ + +-long make_XSelectionClearEvent (){ ++long ++make_XSelectionClearEvent (void){ + return ((long) calloc(1, sizeof(XSelectionClearEvent))); + } + +-int XSelectionClearEvent_time(i) +-XSelectionClearEvent* i; ++int ++XSelectionClearEvent_time (XSelectionClearEvent *i) + { + return(i->time); + } + +-void set_XSelectionClearEvent_time(i, j) +-XSelectionClearEvent* i; +-int j; ++void ++set_XSelectionClearEvent_time (XSelectionClearEvent *i, int j) + { + i->time = j; + } + +-int XSelectionClearEvent_selection(i) +-XSelectionClearEvent* i; ++int ++XSelectionClearEvent_selection (XSelectionClearEvent *i) + { + return(i->selection); + } + +-void set_XSelectionClearEvent_selection(i, j) +-XSelectionClearEvent* i; +-int j; ++void ++set_XSelectionClearEvent_selection (XSelectionClearEvent *i, int j) + { + i->selection = j; + } + +-int XSelectionClearEvent_window(i) +-XSelectionClearEvent* i; ++int ++XSelectionClearEvent_window (XSelectionClearEvent *i) + { + return(i->window); + } + +-void set_XSelectionClearEvent_window(i, j) +-XSelectionClearEvent* i; +-int j; ++void ++set_XSelectionClearEvent_window (XSelectionClearEvent *i, int j) + { + i->window = j; + } + +-long XSelectionClearEvent_display(i) +-XSelectionClearEvent* i; ++long ++XSelectionClearEvent_display (XSelectionClearEvent *i) + { + return((long) i->display); + } + +-void set_XSelectionClearEvent_display(i, j) +-XSelectionClearEvent* i; +-long j; ++void ++set_XSelectionClearEvent_display (XSelectionClearEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XSelectionClearEvent_send_event(i) +-XSelectionClearEvent* i; ++int ++XSelectionClearEvent_send_event (XSelectionClearEvent *i) + { + return(i->send_event); + } + +-void set_XSelectionClearEvent_send_event(i, j) +-XSelectionClearEvent* i; +-int j; ++void ++set_XSelectionClearEvent_send_event (XSelectionClearEvent *i, int j) + { + i->send_event = j; + } + +-int XSelectionClearEvent_serial(i) +-XSelectionClearEvent* i; ++int ++XSelectionClearEvent_serial (XSelectionClearEvent *i) + { + return(i->serial); + } + +-void set_XSelectionClearEvent_serial(i, j) +-XSelectionClearEvent* i; +-int j; ++void ++set_XSelectionClearEvent_serial (XSelectionClearEvent *i, int j) + { + i->serial = j; + } + +-int XSelectionClearEvent_type(i) +-XSelectionClearEvent* i; ++int ++XSelectionClearEvent_type (XSelectionClearEvent *i) + { + return(i->type); + } + +-void set_XSelectionClearEvent_type(i, j) +-XSelectionClearEvent* i; +-int j; ++void ++set_XSelectionClearEvent_type (XSelectionClearEvent *i, int j) + { + i->type = j; + } +@@ -3164,136 +2959,127 @@ int j; + + /********* XSelectionRequestEvent functions *****/ + +-long make_XSelectionRequestEvent (){ ++long ++make_XSelectionRequestEvent (void){ + return ((long) calloc(1, sizeof(XSelectionRequestEvent))); + } + +-int XSelectionRequestEvent_time(i) +-XSelectionRequestEvent* i; ++int ++XSelectionRequestEvent_time (XSelectionRequestEvent *i) + { + return(i->time); + } + +-void set_XSelectionRequestEvent_time(i, j) +-XSelectionRequestEvent* i; +-int j; ++void ++set_XSelectionRequestEvent_time (XSelectionRequestEvent *i, int j) + { + i->time = j; + } + +-int XSelectionRequestEvent_property(i) +-XSelectionRequestEvent* i; ++int ++XSelectionRequestEvent_property (XSelectionRequestEvent *i) + { + return(i->property); + } + +-void set_XSelectionRequestEvent_property(i, j) +-XSelectionRequestEvent* i; +-int j; ++void ++set_XSelectionRequestEvent_property (XSelectionRequestEvent *i, int j) + { + i->property = j; + } + +-int XSelectionRequestEvent_target(i) +-XSelectionRequestEvent* i; ++int ++XSelectionRequestEvent_target (XSelectionRequestEvent *i) + { + return(i->target); + } + +-void set_XSelectionRequestEvent_target(i, j) +-XSelectionRequestEvent* i; +-int j; ++void ++set_XSelectionRequestEvent_target (XSelectionRequestEvent *i, int j) + { + i->target = j; + } + +-int XSelectionRequestEvent_selection(i) +-XSelectionRequestEvent* i; ++int ++XSelectionRequestEvent_selection (XSelectionRequestEvent *i) + { + return(i->selection); + } + +-void set_XSelectionRequestEvent_selection(i, j) +-XSelectionRequestEvent* i; +-int j; ++void ++set_XSelectionRequestEvent_selection (XSelectionRequestEvent *i, int j) + { + i->selection = j; + } + +-int XSelectionRequestEvent_requestor(i) +-XSelectionRequestEvent* i; ++int ++XSelectionRequestEvent_requestor (XSelectionRequestEvent *i) + { + return(i->requestor); + } + +-void set_XSelectionRequestEvent_requestor(i, j) +-XSelectionRequestEvent* i; +-int j; ++void ++set_XSelectionRequestEvent_requestor (XSelectionRequestEvent *i, int j) + { + i->requestor = j; + } + +-int XSelectionRequestEvent_owner(i) +-XSelectionRequestEvent* i; ++int ++XSelectionRequestEvent_owner (XSelectionRequestEvent *i) + { + return(i->owner); + } + +-void set_XSelectionRequestEvent_owner(i, j) +-XSelectionRequestEvent* i; +-int j; ++void ++set_XSelectionRequestEvent_owner (XSelectionRequestEvent *i, int j) + { + i->owner = j; + } + +-long XSelectionRequestEvent_display(i) +-XSelectionRequestEvent* i; ++long ++XSelectionRequestEvent_display (XSelectionRequestEvent *i) + { + return((long) i->display); + } + +-void set_XSelectionRequestEvent_display(i, j) +-XSelectionRequestEvent* i; +-long j; ++void ++set_XSelectionRequestEvent_display (XSelectionRequestEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XSelectionRequestEvent_send_event(i) +-XSelectionRequestEvent* i; ++int ++XSelectionRequestEvent_send_event (XSelectionRequestEvent *i) + { + return(i->send_event); + } + +-void set_XSelectionRequestEvent_send_event(i, j) +-XSelectionRequestEvent* i; +-int j; ++void ++set_XSelectionRequestEvent_send_event (XSelectionRequestEvent *i, int j) + { + i->send_event = j; + } + +-int XSelectionRequestEvent_serial(i) +-XSelectionRequestEvent* i; ++int ++XSelectionRequestEvent_serial (XSelectionRequestEvent *i) + { + return(i->serial); + } + +-void set_XSelectionRequestEvent_serial(i, j) +-XSelectionRequestEvent* i; +-int j; ++void ++set_XSelectionRequestEvent_serial (XSelectionRequestEvent *i, int j) + { + i->serial = j; + } + +-int XSelectionRequestEvent_type(i) +-XSelectionRequestEvent* i; ++int ++XSelectionRequestEvent_type (XSelectionRequestEvent *i) + { + return(i->type); + } + +-void set_XSelectionRequestEvent_type(i, j) +-XSelectionRequestEvent* i; +-int j; ++void ++set_XSelectionRequestEvent_type (XSelectionRequestEvent *i, int j) + { + i->type = j; + } +@@ -3301,123 +3087,115 @@ int j; + + /********* XSelectionEvent functions *****/ + +-long make_XSelectionEvent (){ ++long ++make_XSelectionEvent (void){ + return ((long) calloc(1, sizeof(XSelectionEvent))); + } + +-int XSelectionEvent_time(i) +-XSelectionEvent* i; ++int ++XSelectionEvent_time (XSelectionEvent *i) + { + return(i->time); + } + +-void set_XSelectionEvent_time(i, j) +-XSelectionEvent* i; +-int j; ++void ++set_XSelectionEvent_time (XSelectionEvent *i, int j) + { + i->time = j; + } + +-int XSelectionEvent_property(i) +-XSelectionEvent* i; ++int ++XSelectionEvent_property (XSelectionEvent *i) + { + return(i->property); + } + +-void set_XSelectionEvent_property(i, j) +-XSelectionEvent* i; +-int j; ++void ++set_XSelectionEvent_property (XSelectionEvent *i, int j) + { + i->property = j; + } + +-int XSelectionEvent_target(i) +-XSelectionEvent* i; ++int ++XSelectionEvent_target (XSelectionEvent *i) + { + return(i->target); + } + +-void set_XSelectionEvent_target(i, j) +-XSelectionEvent* i; +-int j; ++void ++set_XSelectionEvent_target (XSelectionEvent *i, int j) + { + i->target = j; + } + +-int XSelectionEvent_selection(i) +-XSelectionEvent* i; ++int ++XSelectionEvent_selection (XSelectionEvent *i) + { + return(i->selection); + } + +-void set_XSelectionEvent_selection(i, j) +-XSelectionEvent* i; +-int j; ++void ++set_XSelectionEvent_selection (XSelectionEvent *i, int j) + { + i->selection = j; + } + +-int XSelectionEvent_requestor(i) +-XSelectionEvent* i; ++int ++XSelectionEvent_requestor (XSelectionEvent *i) + { + return(i->requestor); + } + +-void set_XSelectionEvent_requestor(i, j) +-XSelectionEvent* i; +-int j; ++void ++set_XSelectionEvent_requestor (XSelectionEvent *i, int j) + { + i->requestor = j; + } + +-long XSelectionEvent_display(i) +-XSelectionEvent* i; ++long ++XSelectionEvent_display (XSelectionEvent *i) + { + return((long) i->display); + } + +-void set_XSelectionEvent_display(i, j) +-XSelectionEvent* i; +-long j; ++void ++set_XSelectionEvent_display (XSelectionEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XSelectionEvent_send_event(i) +-XSelectionEvent* i; ++int ++XSelectionEvent_send_event (XSelectionEvent *i) + { + return(i->send_event); + } + +-void set_XSelectionEvent_send_event(i, j) +-XSelectionEvent* i; +-int j; ++void ++set_XSelectionEvent_send_event (XSelectionEvent *i, int j) + { + i->send_event = j; + } + +-int XSelectionEvent_serial(i) +-XSelectionEvent* i; ++int ++XSelectionEvent_serial (XSelectionEvent *i) + { + return(i->serial); + } + +-void set_XSelectionEvent_serial(i, j) +-XSelectionEvent* i; +-int j; ++void ++set_XSelectionEvent_serial (XSelectionEvent *i, int j) + { + i->serial = j; + } + +-int XSelectionEvent_type(i) +-XSelectionEvent* i; ++int ++XSelectionEvent_type (XSelectionEvent *i) + { + return(i->type); + } + +-void set_XSelectionEvent_type(i, j) +-XSelectionEvent* i; +-int j; ++void ++set_XSelectionEvent_type (XSelectionEvent *i, int j) + { + i->type = j; + } +@@ -3425,110 +3203,103 @@ int j; + + /********* XColormapEvent functions *****/ + +-long make_XColormapEvent (){ ++long ++make_XColormapEvent (void){ + return ((long) calloc(1, sizeof(XColormapEvent))); + } + +-int XColormapEvent_state(i) +-XColormapEvent* i; ++int ++XColormapEvent_state (XColormapEvent *i) + { + return(i->state); + } + +-void set_XColormapEvent_state(i, j) +-XColormapEvent* i; +-int j; ++void ++set_XColormapEvent_state (XColormapEvent *i, int j) + { + i->state = j; + } + +-int XColormapEvent_new(i) +-XColormapEvent* i; ++int ++XColormapEvent_new (XColormapEvent *i) + { + return(i->new); + } + +-void set_XColormapEvent_new(i, j) +-XColormapEvent* i; +-int j; ++void ++set_XColormapEvent_new (XColormapEvent *i, int j) + { + i->new = j; + } + +-int XColormapEvent_colormap(i) +-XColormapEvent* i; ++int ++XColormapEvent_colormap (XColormapEvent *i) + { + return(i->colormap); + } + +-void set_XColormapEvent_colormap(i, j) +-XColormapEvent* i; +-int j; ++void ++set_XColormapEvent_colormap (XColormapEvent *i, int j) + { + i->colormap = j; + } + +-int XColormapEvent_window(i) +-XColormapEvent* i; ++int ++XColormapEvent_window (XColormapEvent *i) + { + return(i->window); + } + +-void set_XColormapEvent_window(i, j) +-XColormapEvent* i; +-int j; ++void ++set_XColormapEvent_window (XColormapEvent *i, int j) + { + i->window = j; + } + +-long XColormapEvent_display(i) +-XColormapEvent* i; ++long ++XColormapEvent_display (XColormapEvent *i) + { + return((long) i->display); + } + +-void set_XColormapEvent_display(i, j) +-XColormapEvent* i; +-long j; ++void ++set_XColormapEvent_display (XColormapEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XColormapEvent_send_event(i) +-XColormapEvent* i; ++int ++XColormapEvent_send_event (XColormapEvent *i) + { + return(i->send_event); + } + +-void set_XColormapEvent_send_event(i, j) +-XColormapEvent* i; +-int j; ++void ++set_XColormapEvent_send_event (XColormapEvent *i, int j) + { + i->send_event = j; + } + +-int XColormapEvent_serial(i) +-XColormapEvent* i; ++int ++XColormapEvent_serial (XColormapEvent *i) + { + return(i->serial); + } + +-void set_XColormapEvent_serial(i, j) +-XColormapEvent* i; +-int j; ++void ++set_XColormapEvent_serial (XColormapEvent *i, int j) + { + i->serial = j; + } + +-int XColormapEvent_type(i) +-XColormapEvent* i; ++int ++XColormapEvent_type (XColormapEvent *i) + { + return(i->type); + } + +-void set_XColormapEvent_type(i, j) +-XColormapEvent* i; +-int j; ++void ++set_XColormapEvent_type (XColormapEvent *i, int j) + { + i->type = j; + } +@@ -3536,98 +3307,92 @@ int j; + + /********* XClientMessageEvent functions *****/ + +-long make_XClientMessageEvent (){ ++long ++make_XClientMessageEvent (void){ + return ((long) calloc(1, sizeof(XClientMessageEvent))); + } + +-int XClientMessageEvent_format(i) +-XClientMessageEvent* i; ++int ++XClientMessageEvent_format (XClientMessageEvent *i) + { + return(i->format); + } + +-void set_XClientMessageEvent_format(i, j) +-XClientMessageEvent* i; +-int j; ++void ++set_XClientMessageEvent_format (XClientMessageEvent *i, int j) + { + i->format = j; + } + +-int XClientMessageEvent_message_type(i) +-XClientMessageEvent* i; ++int ++XClientMessageEvent_message_type (XClientMessageEvent *i) + { + return(i->message_type); + } + +-void set_XClientMessageEvent_message_type(i, j) +-XClientMessageEvent* i; +-int j; ++void ++set_XClientMessageEvent_message_type (XClientMessageEvent *i, int j) + { + i->message_type = j; + } + + +-int XClientMessageEvent_window(i) +-XClientMessageEvent* i; ++int ++XClientMessageEvent_window (XClientMessageEvent *i) + { + return(i->window); + } + +-void set_XClientMessageEvent_window(i, j) +-XClientMessageEvent* i; +-int j; ++void ++set_XClientMessageEvent_window (XClientMessageEvent *i, int j) + { + i->window = j; + } + +-long XClientMessageEvent_display(i) +-XClientMessageEvent* i; ++long ++XClientMessageEvent_display (XClientMessageEvent *i) + { + return((long) i->display); + } + +-void set_XClientMessageEvent_display(i, j) +-XClientMessageEvent* i; +-long j; ++void ++set_XClientMessageEvent_display (XClientMessageEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XClientMessageEvent_send_event(i) +-XClientMessageEvent* i; ++int ++XClientMessageEvent_send_event (XClientMessageEvent *i) + { + return(i->send_event); + } + +-void set_XClientMessageEvent_send_event(i, j) +-XClientMessageEvent* i; +-int j; ++void ++set_XClientMessageEvent_send_event (XClientMessageEvent *i, int j) + { + i->send_event = j; + } + +-int XClientMessageEvent_serial(i) +-XClientMessageEvent* i; ++int ++XClientMessageEvent_serial (XClientMessageEvent *i) + { + return(i->serial); + } + +-void set_XClientMessageEvent_serial(i, j) +-XClientMessageEvent* i; +-int j; ++void ++set_XClientMessageEvent_serial (XClientMessageEvent *i, int j) + { + i->serial = j; + } + +-int XClientMessageEvent_type(i) +-XClientMessageEvent* i; ++int ++XClientMessageEvent_type (XClientMessageEvent *i) + { + return(i->type); + } + +-void set_XClientMessageEvent_type(i, j) +-XClientMessageEvent* i; +-int j; ++void ++set_XClientMessageEvent_type (XClientMessageEvent *i, int j) + { + i->type = j; + } +@@ -3635,110 +3400,103 @@ int j; + + /********* XMappingEvent functions *****/ + +-long make_XMappingEvent (){ ++long ++make_XMappingEvent (void){ + return ((long) calloc(1, sizeof(XMappingEvent))); + } + +-int XMappingEvent_count(i) +-XMappingEvent* i; ++int ++XMappingEvent_count (XMappingEvent *i) + { + return(i->count); + } + +-void set_XMappingEvent_count(i, j) +-XMappingEvent* i; +-int j; ++void ++set_XMappingEvent_count (XMappingEvent *i, int j) + { + i->count = j; + } + +-int XMappingEvent_first_keycode(i) +-XMappingEvent* i; ++int ++XMappingEvent_first_keycode (XMappingEvent *i) + { + return(i->first_keycode); + } + +-void set_XMappingEvent_first_keycode(i, j) +-XMappingEvent* i; +-int j; ++void ++set_XMappingEvent_first_keycode (XMappingEvent *i, int j) + { + i->first_keycode = j; + } + +-int XMappingEvent_request(i) +-XMappingEvent* i; ++int ++XMappingEvent_request (XMappingEvent *i) + { + return(i->request); + } + +-void set_XMappingEvent_request(i, j) +-XMappingEvent* i; +-int j; ++void ++set_XMappingEvent_request (XMappingEvent *i, int j) + { + i->request = j; + } + +-int XMappingEvent_window(i) +-XMappingEvent* i; ++int ++XMappingEvent_window (XMappingEvent *i) + { + return(i->window); + } + +-void set_XMappingEvent_window(i, j) +-XMappingEvent* i; +-int j; ++void ++set_XMappingEvent_window (XMappingEvent *i, int j) + { + i->window = j; + } + +-long XMappingEvent_display(i) +-XMappingEvent* i; ++long ++XMappingEvent_display (XMappingEvent *i) + { + return((long) i->display); + } + +-void set_XMappingEvent_display(i, j) +-XMappingEvent* i; +-long j; ++void ++set_XMappingEvent_display (XMappingEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XMappingEvent_send_event(i) +-XMappingEvent* i; ++int ++XMappingEvent_send_event (XMappingEvent *i) + { + return(i->send_event); + } + +-void set_XMappingEvent_send_event(i, j) +-XMappingEvent* i; +-int j; ++void ++set_XMappingEvent_send_event (XMappingEvent *i, int j) + { + i->send_event = j; + } + +-int XMappingEvent_serial(i) +-XMappingEvent* i; ++int ++XMappingEvent_serial (XMappingEvent *i) + { + return(i->serial); + } + +-void set_XMappingEvent_serial(i, j) +-XMappingEvent* i; +-int j; ++void ++set_XMappingEvent_serial (XMappingEvent *i, int j) + { + i->serial = j; + } + +-int XMappingEvent_type(i) +-XMappingEvent* i; ++int ++XMappingEvent_type (XMappingEvent *i) + { + return(i->type); + } + +-void set_XMappingEvent_type(i, j) +-XMappingEvent* i; +-int j; ++void ++set_XMappingEvent_type (XMappingEvent *i, int j) + { + i->type = j; + } +@@ -3746,97 +3504,91 @@ int j; + + /********* XErrorEvent functions *****/ + +-long make_XErrorEvent (){ ++long ++make_XErrorEvent (void){ + return ((long) calloc(1, sizeof(XErrorEvent))); + } + +-char XErrorEvent_minor_code(i) +-XErrorEvent* i; ++char ++XErrorEvent_minor_code (XErrorEvent *i) + { + return(i->minor_code); + } + +-void set_XErrorEvent_minor_code(i, j) +-XErrorEvent* i; +-char j; ++void ++set_XErrorEvent_minor_code (XErrorEvent *i, int j) + { + i->minor_code = j; + } + +-char XErrorEvent_request_code(i) +-XErrorEvent* i; ++char ++XErrorEvent_request_code (XErrorEvent *i) + { + return(i->request_code); + } + +-void set_XErrorEvent_request_code(i, j) +-XErrorEvent* i; +-char j; ++void ++set_XErrorEvent_request_code (XErrorEvent *i, int j) + { + i->request_code = j; + } + +-char XErrorEvent_error_code(i) +-XErrorEvent* i; ++char ++XErrorEvent_error_code (XErrorEvent *i) + { + return(i->error_code); + } + +-void set_XErrorEvent_error_code(i, j) +-XErrorEvent* i; +-char j; ++void ++set_XErrorEvent_error_code (XErrorEvent *i, int j) + { + i->error_code = j; + } + +-int XErrorEvent_serial(i) +-XErrorEvent* i; ++int ++XErrorEvent_serial (XErrorEvent *i) + { + return(i->serial); + } + +-void set_XErrorEvent_serial(i, j) +-XErrorEvent* i; +-int j; ++void ++set_XErrorEvent_serial (XErrorEvent *i, int j) + { + i->serial = j; + } + +-int XErrorEvent_resourceid(i) +-XErrorEvent* i; ++int ++XErrorEvent_resourceid (XErrorEvent *i) + { + return(i->resourceid); + } + +-void set_XErrorEvent_resourceid(i, j) +-XErrorEvent* i; +-int j; ++void ++set_XErrorEvent_resourceid (XErrorEvent *i, int j) + { + i->resourceid = j; + } + +-long XErrorEvent_display(i) +-XErrorEvent* i; ++long ++XErrorEvent_display (XErrorEvent *i) + { + return((long) i->display); + } + +-void set_XErrorEvent_display(i, j) +-XErrorEvent* i; +-long j; ++void ++set_XErrorEvent_display (XErrorEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XErrorEvent_type(i) +-XErrorEvent* i; ++int ++XErrorEvent_type (XErrorEvent *i) + { + return(i->type); + } + +-void set_XErrorEvent_type(i, j) +-XErrorEvent* i; +-int j; ++void ++set_XErrorEvent_type (XErrorEvent *i, int j) + { + i->type = j; + } +@@ -3844,71 +3596,67 @@ int j; + + /********* XAnyEvent functions *****/ + +-long make_XAnyEvent (){ ++long ++make_XAnyEvent (void){ + return ((long) calloc(1, sizeof(XAnyEvent))); + } + +-int XAnyEvent_window(i) +-XAnyEvent* i; ++int ++XAnyEvent_window (XAnyEvent *i) + { + return(i->window); + } + +-void set_XAnyEvent_window(i, j) +-XAnyEvent* i; +-int j; ++void ++set_XAnyEvent_window (XAnyEvent *i, int j) + { + i->window = j; + } + +-long XAnyEvent_display(i) +-XAnyEvent* i; ++long ++XAnyEvent_display (XAnyEvent *i) + { + return((long) i->display); + } + +-void set_XAnyEvent_display(i, j) +-XAnyEvent* i; +-long j; ++void ++set_XAnyEvent_display (XAnyEvent *i, long j) + { + i->display = (Display *) j; + } + +-int XAnyEvent_send_event(i) +-XAnyEvent* i; ++int ++XAnyEvent_send_event (XAnyEvent *i) + { + return(i->send_event); + } + +-void set_XAnyEvent_send_event(i, j) +-XAnyEvent* i; +-int j; ++void ++set_XAnyEvent_send_event (XAnyEvent *i, int j) + { + i->send_event = j; + } + +-int XAnyEvent_serial(i) +-XAnyEvent* i; ++int ++XAnyEvent_serial (XAnyEvent *i) + { + return(i->serial); + } + +-void set_XAnyEvent_serial(i, j) +-XAnyEvent* i; +-int j; ++void ++set_XAnyEvent_serial (XAnyEvent *i, int j) + { + i->serial = j; + } + +-int XAnyEvent_type(i) +-XAnyEvent* i; ++int ++XAnyEvent_type (XAnyEvent *i) + { + return(i->type); + } + +-void set_XAnyEvent_type(i, j) +-XAnyEvent* i; +-int j; ++void ++set_XAnyEvent_type (XAnyEvent *i, int j) + { + i->type = j; + } +@@ -3916,6 +3664,7 @@ int j; + + /********* XEvent functions *****/ + +-long make_XEvent (){ ++long ++make_XEvent (void){ + return ((long) calloc(1, sizeof(XEvent))); + } +--- gcl27-2.7.1.orig/xgcl-2/XStruct-2.c ++++ gcl27-2.7.1/xgcl-2/XStruct-2.c +@@ -24,38 +24,37 @@ + + + /********* _XQEvent functions *****/ ++ + #define NEED_EVENTS + #include + #include + #include + + +-long make__XQEvent (){ ++long make__XQEvent (void) ++{ + return ((long) calloc(1, sizeof(_XQEvent))); + } + +-XEvent _XQEvent_event(i) +-_XQEvent* i; ++XEvent _XQEvent_event (_XQEvent* i) + { + return(i->event); + } + +-void set__XQEvent_event(i, j) +-_XQEvent* i; +-XEvent j; ++void ++set__XQEvent_event (_XQEvent *i, XEvent j) + { + i->event = j; + } + +-long _XQEvent_next(i) +-_XQEvent* i; ++long ++_XQEvent_next (_XQEvent *i) + { + return((long) i->next); + } + +-void set__XQEvent_next(i, j) +-_XQEvent* i; +-long j; ++void ++set__XQEvent_next (_XQEvent *i, long j) + { + i->next = (struct _XSQEvent *) j; + } +@@ -63,84 +62,79 @@ long j; + + /********* XCharStruct functions *****/ + +-long make_XCharStruct (){ ++long ++make_XCharStruct (void){ + return ((long) calloc(1, sizeof(XCharStruct))); + } + +-int XCharStruct_attributes(i) +-XCharStruct* i; ++int ++XCharStruct_attributes (XCharStruct *i) + { + return(i->attributes); + } + +-void set_XCharStruct_attributes(i, j) +-XCharStruct* i; +-int j; ++void ++set_XCharStruct_attributes (XCharStruct *i, int j) + { + i->attributes = j; + } + +-int XCharStruct_descent(i) +-XCharStruct* i; ++int ++XCharStruct_descent (XCharStruct *i) + { + return(i->descent); + } + +-void set_XCharStruct_descent(i, j) +-XCharStruct* i; +-int j; ++void ++set_XCharStruct_descent (XCharStruct *i, int j) + { + i->descent = j; + } + +-int XCharStruct_ascent(i) +-XCharStruct* i; ++int ++XCharStruct_ascent (XCharStruct *i) + { + return(i->ascent); + } + +-void set_XCharStruct_ascent(i, j) +-XCharStruct* i; +-int j; ++void ++set_XCharStruct_ascent (XCharStruct *i, int j) + { + i->ascent = j; + } + +-int XCharStruct_width(i) +-XCharStruct* i; ++int ++XCharStruct_width (XCharStruct *i) + { + return(i->width); + } + +-void set_XCharStruct_width(i, j) +-XCharStruct* i; +-int j; ++void ++set_XCharStruct_width (XCharStruct *i, int j) + { + i->width = j; + } + +-int XCharStruct_rbearing(i) +-XCharStruct* i; ++int ++XCharStruct_rbearing (XCharStruct *i) + { + return(i->rbearing); + } + +-void set_XCharStruct_rbearing(i, j) +-XCharStruct* i; +-int j; ++void ++set_XCharStruct_rbearing (XCharStruct *i, int j) + { + i->rbearing = j; + } + +-int XCharStruct_lbearing(i) +-XCharStruct* i; ++int ++XCharStruct_lbearing (XCharStruct *i) + { + return(i->lbearing); + } + +-void set_XCharStruct_lbearing(i, j) +-XCharStruct* i; +-int j; ++void ++set_XCharStruct_lbearing (XCharStruct *i, int j) + { + i->lbearing = j; + } +@@ -148,32 +142,31 @@ int j; + + /********* XFontProp functions *****/ + +-long make_XFontProp (){ ++long ++make_XFontProp (void){ + return ((long) calloc(1, sizeof(XFontProp))); + } + +-int XFontProp_card32(i) +-XFontProp* i; ++int ++XFontProp_card32 (XFontProp *i) + { + return(i->card32); + } + +-void set_XFontProp_card32(i, j) +-XFontProp* i; +-int j; ++void ++set_XFontProp_card32 (XFontProp *i, int j) + { + i->card32 = j; + } + +-int XFontProp_name(i) +-XFontProp* i; ++int ++XFontProp_name (XFontProp *i) + { + return(i->name); + } + +-void set_XFontProp_name(i, j) +-XFontProp* i; +-int j; ++void ++set_XFontProp_name (XFontProp *i, int j) + { + i->name = j; + } +@@ -181,211 +174,196 @@ int j; + + /********* XFontStruct functions *****/ + +-long make_XFontStruct (){ ++long ++make_XFontStruct (void){ + return ((long) calloc(1, sizeof(XFontStruct))); + } + +-int XFontStruct_descent(i) +-XFontStruct* i; ++int ++XFontStruct_descent (XFontStruct *i) + { + return(i->descent); + } + +-void set_XFontStruct_descent(i, j) +-XFontStruct* i; +-int j; ++void ++set_XFontStruct_descent (XFontStruct *i, int j) + { + i->descent = j; + } + +-int XFontStruct_ascent(i) +-XFontStruct* i; ++int ++XFontStruct_ascent (XFontStruct *i) + { + return(i->ascent); + } + +-void set_XFontStruct_ascent(i, j) +-XFontStruct* i; +-int j; ++void ++set_XFontStruct_ascent (XFontStruct *i, int j) + { + i->ascent = j; + } + +-long XFontStruct_per_char(i) +-XFontStruct* i; ++long ++XFontStruct_per_char (XFontStruct *i) + { + return((long) i->per_char); + } + +-void set_XFontStruct_per_char(i, j) +-XFontStruct* i; +-long j; ++void ++set_XFontStruct_per_char (XFontStruct *i, long j) + { + i->per_char = (XCharStruct *) j; + } + +-long XFontStruct_max_bounds(i) +-XFontStruct* i; ++long ++XFontStruct_max_bounds (XFontStruct *i) + { + return((long) &i->max_bounds); + } +-long XFontStruct_min_bounds(i) +-XFontStruct* i; ++long ++XFontStruct_min_bounds (XFontStruct *i) + { + return((long) &i->min_bounds); + } +-void set_XFontStruct_max_bounds(i, j) +-XFontStruct* i; +-XCharStruct j; ++void ++set_XFontStruct_max_bounds (XFontStruct *i, XCharStruct j) + { + i->max_bounds = j; + } +-void set_XFontStruct_min_bounds(i, j) +-XFontStruct* i; +-XCharStruct j; ++void ++set_XFontStruct_min_bounds (XFontStruct *i, XCharStruct j) + { + i->min_bounds = j; + } + +-long XFontStruct_properties(i) +-XFontStruct* i; ++long ++XFontStruct_properties (XFontStruct *i) + { + return((long) i->properties); + } + +-void set_XFontStruct_properties(i, j) +-XFontStruct* i; +-long j; ++void ++set_XFontStruct_properties (XFontStruct *i, long j) + { + i->properties = (XFontProp *) j; + } + +-int XFontStruct_n_properties(i) +-XFontStruct* i; ++int ++XFontStruct_n_properties (XFontStruct *i) + { + return(i->n_properties); + } + +-void set_XFontStruct_n_properties(i, j) +-XFontStruct* i; +-int j; ++void ++set_XFontStruct_n_properties (XFontStruct *i, int j) + { + i->n_properties = j; + } + +-int XFontStruct_default_char(i) +-XFontStruct* i; ++int ++XFontStruct_default_char (XFontStruct *i) + { + return(i->default_char); + } + +-void set_XFontStruct_default_char(i, j) +-XFontStruct* i; +-int j; ++void ++set_XFontStruct_default_char (XFontStruct *i, int j) + { + i->default_char = j; + } + +-int XFontStruct_all_chars_exist(i) +-XFontStruct* i; ++int ++XFontStruct_all_chars_exist (XFontStruct *i) + { + return(i->all_chars_exist); + } + +-void set_XFontStruct_all_chars_exist(i, j) +-XFontStruct* i; +-int j; ++void ++set_XFontStruct_all_chars_exist (XFontStruct *i, int j) + { + i->all_chars_exist = j; + } + +-int XFontStruct_max_byte1(i) +-XFontStruct* i; ++int ++XFontStruct_max_byte1 (XFontStruct *i) + { + return(i->max_byte1); + } + +-void set_XFontStruct_max_byte1(i, j) +-XFontStruct* i; +-int j; ++void ++set_XFontStruct_max_byte1 (XFontStruct *i, int j) + { + i->max_byte1 = j; + } + +-int XFontStruct_min_byte1(i) +-XFontStruct* i; ++int ++XFontStruct_min_byte1 (XFontStruct *i) + { + return(i->min_byte1); + } + +-void set_XFontStruct_min_byte1(i, j) +-XFontStruct* i; +-int j; ++void ++set_XFontStruct_min_byte1 (XFontStruct *i, int j) + { + i->min_byte1 = j; + } + +-int XFontStruct_max_char_or_byte2(i) +-XFontStruct* i; ++int ++XFontStruct_max_char_or_byte2 (XFontStruct *i) + { + return(i->max_char_or_byte2); + } + +-void set_XFontStruct_max_char_or_byte2(i, j) +-XFontStruct* i; +-int j; ++void ++set_XFontStruct_max_char_or_byte2 (XFontStruct *i, int j) + { + i->max_char_or_byte2 = j; + } + +-int XFontStruct_min_char_or_byte2(i) +-XFontStruct* i; ++int ++XFontStruct_min_char_or_byte2 (XFontStruct *i) + { + return(i->min_char_or_byte2); + } + +-void set_XFontStruct_min_char_or_byte2(i, j) +-XFontStruct* i; +-int j; ++void ++set_XFontStruct_min_char_or_byte2 (XFontStruct *i, int j) + { + i->min_char_or_byte2 = j; + } + +-int XFontStruct_direction(i) +-XFontStruct* i; ++int ++XFontStruct_direction (XFontStruct *i) + { + return(i->direction); + } + +-void set_XFontStruct_direction(i, j) +-XFontStruct* i; +-int j; ++void ++set_XFontStruct_direction (XFontStruct *i, int j) + { + i->direction = j; + } + +-int XFontStruct_fid(i) +-XFontStruct* i; ++int ++XFontStruct_fid (XFontStruct *i) + { + return(i->fid); + } + +-void set_XFontStruct_fid(i, j) +-XFontStruct* i; +-int j; ++void ++set_XFontStruct_fid (XFontStruct *i, int j) + { + i->fid = j; + } + +-long XFontStruct_ext_data(i) +-XFontStruct* i; ++long ++XFontStruct_ext_data (XFontStruct *i) + { + return((long) i->ext_data); + } + +-void set_XFontStruct_ext_data(i, j) +-XFontStruct* i; +-long j; ++void ++set_XFontStruct_ext_data (XFontStruct *i, long j) + { + i->ext_data = (XExtData *) j; + } +@@ -393,58 +371,55 @@ long j; + + /********* XTextItem functions *****/ + +-long make_XTextItem (){ ++long ++make_XTextItem (void){ + return ((long) calloc(1, sizeof(XTextItem))); + } + +-int XTextItem_font(i) +-XTextItem* i; ++int ++XTextItem_font (XTextItem *i) + { + return(i->font); + } + +-void set_XTextItem_font(i, j) +-XTextItem* i; +-int j; ++void ++set_XTextItem_font (XTextItem *i, int j) + { + i->font = j; + } + +-int XTextItem_delta(i) +-XTextItem* i; ++int ++XTextItem_delta (XTextItem *i) + { + return(i->delta); + } + +-void set_XTextItem_delta(i, j) +-XTextItem* i; +-int j; ++void ++set_XTextItem_delta (XTextItem *i, int j) + { + i->delta = j; + } + +-int XTextItem_nchars(i) +-XTextItem* i; ++int ++XTextItem_nchars (XTextItem *i) + { + return(i->nchars); + } + +-void set_XTextItem_nchars(i, j) +-XTextItem* i; +-int j; ++void ++set_XTextItem_nchars (XTextItem *i, int j) + { + i->nchars = j; + } + +-long XTextItem_chars(i) +-XTextItem* i; ++long ++XTextItem_chars (XTextItem *i) + { + return((long) i->chars); + } + +-void set_XTextItem_chars(i, j) +-XTextItem* i; +-long j; ++void ++set_XTextItem_chars (XTextItem *i, long j) + { + i->chars = (char *) j; + } +@@ -452,32 +427,31 @@ long j; + + /********* XChar2b functions *****/ + +-long make_XChar2b (){ ++long ++make_XChar2b (void){ + return ((long) calloc(1, sizeof(XChar2b))); + } + +-char XChar2b_byte2(i) +-XChar2b* i; ++char ++XChar2b_byte2 (XChar2b *i) + { + return(i->byte2); + } + +-void set_XChar2b_byte2(i, j) +-XChar2b* i; +-char j; ++void ++set_XChar2b_byte2 (XChar2b *i, int j) + { + i->byte2 = j; + } + +-char XChar2b_byte1(i) +-XChar2b* i; ++char ++XChar2b_byte1 (XChar2b *i) + { + return(i->byte1); + } + +-void set_XChar2b_byte1(i, j) +-XChar2b* i; +-char j; ++void ++set_XChar2b_byte1 (XChar2b *i, int j) + { + i->byte1 = j; + } +@@ -485,58 +459,55 @@ char j; + + /********* XTextItem16 functions *****/ + +-long make_XTextItem16 (){ ++long ++make_XTextItem16 (void){ + return ((long) calloc(1, sizeof(XTextItem16))); + } + +-int XTextItem16_font(i) +-XTextItem16* i; ++int ++XTextItem16_font (XTextItem16 *i) + { + return(i->font); + } + +-void set_XTextItem16_font(i, j) +-XTextItem16* i; +-int j; ++void ++set_XTextItem16_font (XTextItem16 *i, int j) + { + i->font = j; + } + +-int XTextItem16_delta(i) +-XTextItem16* i; ++int ++XTextItem16_delta (XTextItem16 *i) + { + return(i->delta); + } + +-void set_XTextItem16_delta(i, j) +-XTextItem16* i; +-int j; ++void ++set_XTextItem16_delta (XTextItem16 *i, int j) + { + i->delta = j; + } + +-int XTextItem16_nchars(i) +-XTextItem16* i; ++int ++XTextItem16_nchars (XTextItem16 *i) + { + return(i->nchars); + } + +-void set_XTextItem16_nchars(i, j) +-XTextItem16* i; +-int j; ++void ++set_XTextItem16_nchars (XTextItem16 *i, int j) + { + i->nchars = j; + } + +-long XTextItem16_chars(i) +-XTextItem16* i; ++long ++XTextItem16_chars (XTextItem16 *i) + { + return((long) i->chars); + } + +-void set_XTextItem16_chars(i, j) +-XTextItem16* i; +-long j; ++void ++set_XTextItem16_chars (XTextItem16 *i, long j) + { + i->chars = (XChar2b *) j; + } +@@ -544,71 +515,67 @@ long j; + + /********* XEDataObject functions *****/ + +-long make_XEDataObject (){ ++long ++make_XEDataObject (void){ + return ((long) calloc(1, sizeof(XEDataObject))); + } + +-long XEDataObject_font(i) +-XEDataObject* i; ++long ++XEDataObject_font (XEDataObject *i) + { + return((long) i->font); + } + +-void set_XEDataObject_font(i, j) +-XEDataObject* i; +-long j; ++void ++set_XEDataObject_font (XEDataObject *i, long j) + { + i->font = (XFontStruct *) j; + } + +-long XEDataObject_pixmap_format(i) +-XEDataObject* i; ++long ++XEDataObject_pixmap_format (XEDataObject *i) + { + return((long) i->pixmap_format); + } + +-void set_XEDataObject_pixmap_format(i, j) +-XEDataObject* i; +-long j; ++void ++set_XEDataObject_pixmap_format (XEDataObject *i, long j) + { + i->pixmap_format = (ScreenFormat *) j; + } + +-long XEDataObject_screen(i) +-XEDataObject* i; ++long ++XEDataObject_screen (XEDataObject *i) + { + return((long) i->screen); + } + +-void set_XEDataObject_screen(i, j) +-XEDataObject* i; +-long j; ++void ++set_XEDataObject_screen (XEDataObject *i, long j) + { + i->screen = (Screen *) j; + } + +-long XEDataObject_visual(i) +-XEDataObject* i; ++long ++XEDataObject_visual (XEDataObject *i) + { + return((long) i->visual); + } + +-void set_XEDataObject_visual(i, j) +-XEDataObject* i; +-long j; ++void ++set_XEDataObject_visual (XEDataObject *i, long j) + { + i->visual = (Visual *) j; + } + +-GC XEDataObject_gc(i) +-XEDataObject* i; ++GC ++XEDataObject_gc (XEDataObject *i) + { + return(i->gc); + } + +-void set_XEDataObject_gc(i, j) +-XEDataObject* i; +-GC j; ++void ++set_XEDataObject_gc (XEDataObject *i, GC j) + { + i->gc = j; + } +@@ -616,242 +583,189 @@ GC j; + + /********* XSizeHints functions *****/ + +-long make_XSizeHints (){ ++long ++make_XSizeHints (void){ + return ((long) calloc(1, sizeof(XSizeHints))); + } + +-int XSizeHints_win_gravity(i) +-XSizeHints *i; ++int XSizeHints_win_gravity(XSizeHints *i) + { + return(i->win_gravity); + } + +-void set_XSizeHints_win_gravity(i, j) +-XSizeHints *i; +-int j; ++void set_XSizeHints_win_gravity(XSizeHints *i,int j) + { + i->win_gravity = j; + } + +-int XSizeHints_base_height(i) +-XSizeHints* i; ++int XSizeHints_base_height(XSizeHints* i) + { + return(i->base_height); + } + +-void set_XSizeHints_base_height(i, j) +-XSizeHints* i; +-int j; ++void set_XSizeHints_base_height(XSizeHints* i,int j) + { + i->base_height = j; + } + +-int XSizeHints_base_width(i) +-XSizeHints* i; ++int XSizeHints_base_width(XSizeHints* i) + { + return(i->base_width); + } + +-void set_XSizeHints_base_width(i, j) +-XSizeHints* i; +-int j; ++void set_XSizeHints_base_width(XSizeHints* i,int j) + { + i->base_width = j; + } + +-int XSizeHints_height_inc(i) +-XSizeHints* i; ++int XSizeHints_height_inc(XSizeHints* i) + { + return(i->height_inc); + } + +-void set_XSizeHints_height_inc(i, j) +-XSizeHints* i; +-int j; ++void set_XSizeHints_height_inc(XSizeHints* i,int j) + { + i->height_inc = j; + } + +-int XSizeHints_width_inc(i) +-XSizeHints* i; ++int XSizeHints_width_inc(XSizeHints* i) + { + return(i->width_inc); + } + +-void set_XSizeHints_width_inc(i, j) +-XSizeHints* i; +-int j; ++void set_XSizeHints_width_inc(XSizeHints* i,int j) + { + i->width_inc = j; + } + +-int XSizeHints_max_height(i) +-XSizeHints* i; ++int XSizeHints_max_height(XSizeHints* i) + { + return(i->max_height); + } + +-void set_XSizeHints_max_height(i, j) +-XSizeHints* i; +-int j; ++void set_XSizeHints_max_height(XSizeHints* i,int j) + { + i->max_height = j; + } + +-int XSizeHints_max_width(i) +-XSizeHints* i; ++int XSizeHints_max_width(XSizeHints* i) + { + return(i->max_width); + } + +-void set_XSizeHints_max_width(i, j) +-XSizeHints* i; +-int j; ++void set_XSizeHints_max_width(XSizeHints* i,int j) + { + i->max_width = j; + } + +-int XSizeHints_min_height(i) +-XSizeHints* i; ++int XSizeHints_min_height(XSizeHints* i) + { + return(i->min_height); + } + +-void set_XSizeHints_min_height(i, j) +-XSizeHints* i; +-int j; ++void set_XSizeHints_min_height(XSizeHints* i,int j) + { + i->min_height = j; + } + +-int XSizeHints_min_width(i) +-XSizeHints* i; ++int XSizeHints_min_width(XSizeHints* i) + { + return(i->min_width); + } + +-void set_XSizeHints_min_width(i, j) +-XSizeHints* i; +-int j; ++void set_XSizeHints_min_width(XSizeHints* i,int j) + { + i->min_width = j; + } + +-int XSizeHints_height(i) +-XSizeHints* i; ++int XSizeHints_height(XSizeHints* i) + { + return(i->height); + } + +-void set_XSizeHints_height(i, j) +-XSizeHints* i; +-int j; ++void set_XSizeHints_height(XSizeHints* i,int j) + { + i->height = j; + } + +-int XSizeHints_width(i) +-XSizeHints* i; ++int XSizeHints_width(XSizeHints* i) + { + return(i->width); + } + +-void set_XSizeHints_width(i, j) +-XSizeHints* i; +-int j; ++void set_XSizeHints_width(XSizeHints* i,int j) + { + i->width = j; + } + +-int XSizeHints_y(i) +-XSizeHints* i; ++int XSizeHints_y(XSizeHints* i) + { + return(i->y); + } + +-void set_XSizeHints_y(i, j) +-XSizeHints* i; +-int j; ++void set_XSizeHints_y(XSizeHints* i,int j) + { + i->y = j; + } + +-int XSizeHints_x(i) +-XSizeHints* i; ++int XSizeHints_x(XSizeHints* i) + { + return(i->x); + } + +-void set_XSizeHints_x(i, j) +-XSizeHints* i; +-int j; ++void set_XSizeHints_x(XSizeHints* i,int j) + { + i->x = j; + } + +-int XSizeHints_flags(i) +-XSizeHints* i; ++int XSizeHints_flags(XSizeHints* i) + { + return(i->flags); + } + +-void set_XSizeHints_flags(i, j) +-XSizeHints* i; +-int j; ++void set_XSizeHints_flags(XSizeHints* i,int j) + { + i->flags = j; + } + + +-int XSizeHints_max_aspect_x(i) +-XSizeHints* i; ++int XSizeHints_max_aspect_x(XSizeHints* i) + { + return(i->max_aspect.x); + } + +-void set_XSizeHints_max_aspect_x(i, j) +-XSizeHints* i; +-int j; ++void set_XSizeHints_max_aspect_x(XSizeHints* i,int j) + { + i->max_aspect.x = j; + } + +-int XSizeHints_max_aspect_y(i) +-XSizeHints* i; ++int XSizeHints_max_aspect_y(XSizeHints* i) + { + return(i->max_aspect.y); + } + +-void set_XSizeHints_max_aspect_y(i, j) +-XSizeHints* i; +-int j; ++void set_XSizeHints_max_aspect_y(XSizeHints* i,int j) + { + i->max_aspect.y = j; + } + +-int XSizeHints_min_aspect_x(i) +-XSizeHints* i; ++int XSizeHints_min_aspect_x(XSizeHints* i) + { + return(i->min_aspect.x); + } + +-void set_XSizeHints_min_aspect_x(i, j) +-XSizeHints* i; +-int j; ++void set_XSizeHints_min_aspect_x(XSizeHints* i,int j) + { + i->min_aspect.x = j; + } + + +-int XSizeHints_min_aspect_y(i) +-XSizeHints* i; ++int XSizeHints_min_aspect_y(XSizeHints* i) + { + return(i->min_aspect.y); + } + +-void set_XSizeHints_min_aspect_y(i, j) +-XSizeHints* i; +-int j; ++void set_XSizeHints_min_aspect_y(XSizeHints* i,int j) + { + i->min_aspect.y = j; + } +@@ -859,123 +773,115 @@ int j; + + /********* XWMHints functions *****/ + +-long make_XWMHints (){ ++long ++make_XWMHints (void){ + return ((long) calloc(1, sizeof(XWMHints))); + } + +-int XWMHints_window_group(i) +-XWMHints* i; ++int ++XWMHints_window_group (XWMHints *i) + { + return(i->window_group); + } + +-void set_XWMHints_window_group(i, j) +-XWMHints* i; +-int j; ++void ++set_XWMHints_window_group (XWMHints *i, int j) + { + i->window_group = j; + } + +-int XWMHints_icon_mask(i) +-XWMHints* i; ++int ++XWMHints_icon_mask (XWMHints *i) + { + return(i->icon_mask); + } + +-void set_XWMHints_icon_mask(i, j) +-XWMHints* i; +-int j; ++void ++set_XWMHints_icon_mask (XWMHints *i, int j) + { + i->icon_mask = j; + } + +-int XWMHints_icon_y(i) +-XWMHints* i; ++int ++XWMHints_icon_y (XWMHints *i) + { + return(i->icon_y); + } + +-void set_XWMHints_icon_y(i, j) +-XWMHints* i; +-int j; ++void ++set_XWMHints_icon_y (XWMHints *i, int j) + { + i->icon_y = j; + } + +-int XWMHints_icon_x(i) +-XWMHints* i; ++int ++XWMHints_icon_x (XWMHints *i) + { + return(i->icon_x); + } + +-void set_XWMHints_icon_x(i, j) +-XWMHints* i; +-int j; ++void ++set_XWMHints_icon_x (XWMHints *i, int j) + { + i->icon_x = j; + } + +-int XWMHints_icon_window(i) +-XWMHints* i; ++int ++XWMHints_icon_window (XWMHints *i) + { + return(i->icon_window); + } + +-void set_XWMHints_icon_window(i, j) +-XWMHints* i; +-int j; ++void ++set_XWMHints_icon_window (XWMHints *i, int j) + { + i->icon_window = j; + } + +-int XWMHints_icon_pixmap(i) +-XWMHints* i; ++int ++XWMHints_icon_pixmap (XWMHints *i) + { + return(i->icon_pixmap); + } + +-void set_XWMHints_icon_pixmap(i, j) +-XWMHints* i; +-int j; ++void ++set_XWMHints_icon_pixmap (XWMHints *i, int j) + { + i->icon_pixmap = j; + } + +-int XWMHints_initial_state(i) +-XWMHints* i; ++int ++XWMHints_initial_state (XWMHints *i) + { + return(i->initial_state); + } + +-void set_XWMHints_initial_state(i, j) +-XWMHints* i; +-int j; ++void ++set_XWMHints_initial_state (XWMHints *i, int j) + { + i->initial_state = j; + } + +-int XWMHints_input(i) +-XWMHints* i; ++int ++XWMHints_input (XWMHints *i) + { + return(i->input); + } + +-void set_XWMHints_input(i, j) +-XWMHints* i; +-int j; ++void ++set_XWMHints_input (XWMHints *i, int j) + { + i->input = j; + } + +-int XWMHints_flags(i) +-XWMHints* i; ++int ++XWMHints_flags (XWMHints *i) + { + return(i->flags); + } + +-void set_XWMHints_flags(i, j) +-XWMHints* i; +-int j; ++void ++set_XWMHints_flags (XWMHints *i, int j) + { + i->flags = j; + } +@@ -983,58 +889,55 @@ int j; + + /********* XTextProperty functions *****/ + +-long make_XTextProperty (){ ++long ++make_XTextProperty (void){ + return ((long) calloc(1, sizeof(XTextProperty))); + } + +-int XTextProperty_nitems(i) +-XTextProperty *i; ++int ++XTextProperty_nitems (XTextProperty *i) + { + return(i->nitems); + } + +-void set_XTextProperty_nitems(i, j) +-XTextProperty* i; +-int j; ++void ++set_XTextProperty_nitems (XTextProperty *i, int j) + { + i->nitems = j; + } + +-int XTextProperty_format(i) +-XTextProperty* i; ++int ++XTextProperty_format (XTextProperty *i) + { + return(i->format); + } + +-void set_XTextProperty_format(i, j) +-XTextProperty* i; +-int j; ++void ++set_XTextProperty_format (XTextProperty *i, int j) + { + i->format = j; + } + +-int XTextProperty_encoding(i) +-XTextProperty* i; ++int ++XTextProperty_encoding (XTextProperty *i) + { + return(i->encoding); + } + +-void set_XTextProperty_encoding(i, j) +-XTextProperty* i; +-int j; ++void ++set_XTextProperty_encoding (XTextProperty *i, int j) + { + i->encoding = j; + } + +-long XTextProperty_value(i) +-XTextProperty* i; ++long ++XTextProperty_value (XTextProperty *i) + { + return((long) i->value); + } + +-void set_XTextProperty_value(i, j) +-XTextProperty* i; +-long j; ++void ++set_XTextProperty_value (XTextProperty *i, long j) + { + i->value = (unsigned char *) j; + } +@@ -1042,84 +945,79 @@ long j; + + /********* XIconSize functions *****/ + +-long make_XIconSize (){ ++long ++make_XIconSize (void){ + return ((long) calloc(1, sizeof(XIconSize))); + } + +-int XIconSize_height_inc(i) +-XIconSize* i; ++int ++XIconSize_height_inc (XIconSize *i) + { + return(i->height_inc); + } + +-void set_XIconSize_height_inc(i, j) +-XIconSize* i; +-int j; ++void ++set_XIconSize_height_inc (XIconSize *i, int j) + { + i->height_inc = j; + } + +-int XIconSize_width_inc(i) +-XIconSize* i; ++int ++XIconSize_width_inc (XIconSize *i) + { + return(i->width_inc); + } + +-void set_XIconSize_width_inc(i, j) +-XIconSize* i; +-int j; ++void ++set_XIconSize_width_inc (XIconSize *i, int j) + { + i->width_inc = j; + } + +-int XIconSize_max_height(i) +-XIconSize* i; ++int ++XIconSize_max_height (XIconSize *i) + { + return(i->max_height); + } + +-void set_XIconSize_max_height(i, j) +-XIconSize* i; +-int j; ++void ++set_XIconSize_max_height (XIconSize *i, int j) + { + i->max_height = j; + } + +-int XIconSize_max_width(i) +-XIconSize* i; ++int ++XIconSize_max_width (XIconSize *i) + { + return(i->max_width); + } + +-void set_XIconSize_max_width(i, j) +-XIconSize* i; +-int j; ++void ++set_XIconSize_max_width (XIconSize *i, int j) + { + i->max_width = j; + } + +-int XIconSize_min_height(i) +-XIconSize* i; ++int ++XIconSize_min_height (XIconSize *i) + { + return(i->min_height); + } + +-void set_XIconSize_min_height(i, j) +-XIconSize* i; +-int j; ++void ++set_XIconSize_min_height (XIconSize *i, int j) + { + i->min_height = j; + } + +-int XIconSize_min_width(i) +-XIconSize* i; ++int ++XIconSize_min_width (XIconSize *i) + { + return(i->min_width); + } + +-void set_XIconSize_min_width(i, j) +-XIconSize* i; +-int j; ++void ++set_XIconSize_min_width (XIconSize *i, int j) + { + i->min_width = j; + } +@@ -1127,32 +1025,31 @@ int j; + + /********* XClassHint functions *****/ + +-long make_XClassHint (){ ++long ++make_XClassHint (void){ + return ((long) calloc(1, sizeof(XClassHint))); + } + +-long XClassHint_res_class(i) +-XClassHint* i; ++long ++XClassHint_res_class (XClassHint *i) + { + return((long) i->res_class); + } + +-void set_XClassHint_res_class(i, j) +-XClassHint* i; +-long j; ++void ++set_XClassHint_res_class (XClassHint *i, long j) + { + i->res_class = (char *) j; + } + +-long XClassHint_res_name(i) +-XClassHint* i; ++long ++XClassHint_res_name (XClassHint *i) + { + return((long) i->res_name); + } + +-void set_XClassHint_res_name(i, j) +-XClassHint* i; +-long j; ++void ++set_XClassHint_res_name (XClassHint *i, long j) + { + i->res_name = (char *) j; + } +@@ -1160,32 +1057,31 @@ long j; + + /********* XComposeStatus functions *****/ + +-long make_XComposeStatus (){ ++long ++make_XComposeStatus (void){ + return ((long) calloc(1, sizeof(XComposeStatus))); + } + +-int XComposeStatus_chars_matched(i) +-XComposeStatus* i; ++int ++XComposeStatus_chars_matched (XComposeStatus *i) + { + return(i->chars_matched); + } + +-void set_XComposeStatus_chars_matched(i, j) +-XComposeStatus* i; +-int j; ++void ++set_XComposeStatus_chars_matched (XComposeStatus *i, int j) + { + i->chars_matched = j; + } + +-long XComposeStatus_compose_ptr(i) +-XComposeStatus* i; ++long ++XComposeStatus_compose_ptr (XComposeStatus *i) + { + return((long) i->compose_ptr); + } + +-void set_XComposeStatus_compose_ptr(i, j) +-XComposeStatus* i; +-long j; ++void ++set_XComposeStatus_compose_ptr (XComposeStatus *i, long j) + { + i->compose_ptr = (XPointer) j; + } +@@ -1193,136 +1089,127 @@ long j; + + /********* XVisualInfo functions *****/ + +-long make_XVisualInfo (){ ++long ++make_XVisualInfo (void){ + return ((long) calloc(1, sizeof(XVisualInfo))); + } + +-int XVisualInfo_bits_per_rgb(i) +-XVisualInfo* i; ++int ++XVisualInfo_bits_per_rgb (XVisualInfo *i) + { + return(i->bits_per_rgb); + } + +-void set_XVisualInfo_bits_per_rgb(i, j) +-XVisualInfo* i; +-int j; ++void ++set_XVisualInfo_bits_per_rgb (XVisualInfo *i, int j) + { + i->bits_per_rgb = j; + } + +-int XVisualInfo_colormap_size(i) +-XVisualInfo* i; ++int ++XVisualInfo_colormap_size (XVisualInfo *i) + { + return(i->colormap_size); + } + +-void set_XVisualInfo_colormap_size(i, j) +-XVisualInfo* i; +-int j; ++void ++set_XVisualInfo_colormap_size (XVisualInfo *i, int j) + { + i->colormap_size = j; + } + +-int XVisualInfo_blue_mask(i) +-XVisualInfo* i; ++int ++XVisualInfo_blue_mask (XVisualInfo *i) + { + return(i->blue_mask); + } + +-void set_XVisualInfo_blue_mask(i, j) +-XVisualInfo* i; +-int j; ++void ++set_XVisualInfo_blue_mask (XVisualInfo *i, int j) + { + i->blue_mask = j; + } + +-int XVisualInfo_green_mask(i) +-XVisualInfo* i; ++int ++XVisualInfo_green_mask (XVisualInfo *i) + { + return(i->green_mask); + } + +-void set_XVisualInfo_green_mask(i, j) +-XVisualInfo* i; +-int j; ++void ++set_XVisualInfo_green_mask (XVisualInfo *i, int j) + { + i->green_mask = j; + } + +-int XVisualInfo_red_mask(i) +-XVisualInfo* i; ++int ++XVisualInfo_red_mask (XVisualInfo *i) + { + return(i->red_mask); + } + +-void set_XVisualInfo_red_mask(i, j) +-XVisualInfo* i; +-int j; ++void ++set_XVisualInfo_red_mask (XVisualInfo *i, int j) + { + i->red_mask = j; + } + +-int XVisualInfo_class(i) +-XVisualInfo* i; ++int ++XVisualInfo_class (XVisualInfo *i) + { + return(i->class); + } + +-void set_XVisualInfo_class(i, j) +-XVisualInfo* i; +-int j; ++void ++set_XVisualInfo_class (XVisualInfo *i, int j) + { + i->class = j; + } + +-int XVisualInfo_depth(i) +-XVisualInfo* i; ++int ++XVisualInfo_depth (XVisualInfo *i) + { + return(i->depth); + } + +-void set_XVisualInfo_depth(i, j) +-XVisualInfo* i; +-int j; ++void ++set_XVisualInfo_depth (XVisualInfo *i, int j) + { + i->depth = j; + } + +-int XVisualInfo_screen(i) +-XVisualInfo* i; ++int ++XVisualInfo_screen (XVisualInfo *i) + { + return(i->screen); + } + +-void set_XVisualInfo_screen(i, j) +-XVisualInfo* i; +-int j; ++void ++set_XVisualInfo_screen (XVisualInfo *i, int j) + { + i->screen = j; + } + +-int XVisualInfo_visualid(i) +-XVisualInfo* i; ++int ++XVisualInfo_visualid (XVisualInfo *i) + { + return(i->visualid); + } + +-void set_XVisualInfo_visualid(i, j) +-XVisualInfo* i; +-int j; ++void ++set_XVisualInfo_visualid (XVisualInfo *i, int j) + { + i->visualid = j; + } + +-long XVisualInfo_visual(i) +-XVisualInfo* i; ++long ++XVisualInfo_visual (XVisualInfo *i) + { + return((long) i->visual); + } + +-void set_XVisualInfo_visual(i, j) +-XVisualInfo* i; +-long j; ++void ++set_XVisualInfo_visual (XVisualInfo *i, long j) + { + i->visual = (Visual *) j; + } +@@ -1330,136 +1217,127 @@ long j; + + /********* XStandardColormap functions *****/ + +-long make_XStandardColormap (){ ++long ++make_XStandardColormap (void){ + return ((long) calloc(1, sizeof(XStandardColormap))); + } + +-int XStandardColormap_killid(i) +-XStandardColormap* i; ++int ++XStandardColormap_killid (XStandardColormap *i) + { + return(i->killid); + } + +-void set_XStandardColormap_killid(i, j) +-XStandardColormap* i; +-int j; ++void ++set_XStandardColormap_killid (XStandardColormap *i, int j) + { + i->killid = j; + } + +-int XStandardColormap_visualid(i) +-XStandardColormap* i; ++int ++XStandardColormap_visualid (XStandardColormap *i) + { + return(i->visualid); + } + +-void set_XStandardColormap_visualid(i, j) +-XStandardColormap* i; +-int j; ++void ++set_XStandardColormap_visualid (XStandardColormap *i, int j) + { + i->visualid = j; + } + +-int XStandardColormap_base_pixel(i) +-XStandardColormap* i; ++int ++XStandardColormap_base_pixel (XStandardColormap *i) + { + return(i->base_pixel); + } + +-void set_XStandardColormap_base_pixel(i, j) +-XStandardColormap* i; +-int j; ++void ++set_XStandardColormap_base_pixel (XStandardColormap *i, int j) + { + i->base_pixel = j; + } + +-int XStandardColormap_blue_mult(i) +-XStandardColormap* i; ++int ++XStandardColormap_blue_mult (XStandardColormap *i) + { + return(i->blue_mult); + } + +-void set_XStandardColormap_blue_mult(i, j) +-XStandardColormap* i; +-int j; ++void ++set_XStandardColormap_blue_mult (XStandardColormap *i, int j) + { + i->blue_mult = j; + } + +-int XStandardColormap_blue_max(i) +-XStandardColormap* i; ++int ++XStandardColormap_blue_max (XStandardColormap *i) + { + return(i->blue_max); + } + +-void set_XStandardColormap_blue_max(i, j) +-XStandardColormap* i; +-int j; ++void ++set_XStandardColormap_blue_max (XStandardColormap *i, int j) + { + i->blue_max = j; + } + +-int XStandardColormap_green_mult(i) +-XStandardColormap* i; ++int ++XStandardColormap_green_mult (XStandardColormap *i) + { + return(i->green_mult); + } + +-void set_XStandardColormap_green_mult(i, j) +-XStandardColormap* i; +-int j; ++void ++set_XStandardColormap_green_mult (XStandardColormap *i, int j) + { + i->green_mult = j; + } + +-int XStandardColormap_green_max(i) +-XStandardColormap* i; ++int ++XStandardColormap_green_max (XStandardColormap *i) + { + return(i->green_max); + } + +-void set_XStandardColormap_green_max(i, j) +-XStandardColormap* i; +-int j; ++void ++set_XStandardColormap_green_max (XStandardColormap *i, int j) + { + i->green_max = j; + } + +-int XStandardColormap_red_mult(i) +-XStandardColormap* i; ++int ++XStandardColormap_red_mult (XStandardColormap *i) + { + return(i->red_mult); + } + +-void set_XStandardColormap_red_mult(i, j) +-XStandardColormap* i; +-int j; ++void ++set_XStandardColormap_red_mult (XStandardColormap *i, int j) + { + i->red_mult = j; + } + +-int XStandardColormap_red_max(i) +-XStandardColormap* i; ++int ++XStandardColormap_red_max (XStandardColormap *i) + { + return(i->red_max); + } + +-void set_XStandardColormap_red_max(i, j) +-XStandardColormap* i; +-int j; ++void ++set_XStandardColormap_red_max (XStandardColormap *i, int j) + { + i->red_max = j; + } + +-int XStandardColormap_colormap(i) +-XStandardColormap* i; ++int ++XStandardColormap_colormap (XStandardColormap *i) + { + return(i->colormap); + } + +-void set_XStandardColormap_colormap(i, j) +-XStandardColormap* i; +-int j; ++void ++set_XStandardColormap_colormap (XStandardColormap *i, int j) + { + i->colormap = j; + } +--- gcl27-2.7.1.orig/xgcl-2/XStruct-4.c ++++ gcl27-2.7.1/xgcl-2/XStruct-4.c +@@ -30,58 +30,54 @@ + + /********* XExtCodes functions *****/ + +-long make_XExtCodes (){ ++long make_XExtCodes (void) ++{ + return ((long) calloc(1, sizeof(XExtCodes))); + } + +-int XExtCodes_first_error(i) +-XExtCodes* i; ++int XExtCodes_first_error (XExtCodes* i) + { + return(i->first_error); + } + +-void set_XExtCodes_first_error(i, j) +-XExtCodes* i; +-int j; ++void ++set_XExtCodes_first_error (XExtCodes *i, int j) + { + i->first_error = j; + } + +-int XExtCodes_first_event(i) +-XExtCodes* i; ++int ++XExtCodes_first_event (XExtCodes *i) + { + return(i->first_event); + } + +-void set_XExtCodes_first_event(i, j) +-XExtCodes* i; +-int j; ++void ++set_XExtCodes_first_event (XExtCodes *i, int j) + { + i->first_event = j; + } + +-int XExtCodes_major_opcode(i) +-XExtCodes* i; ++int ++XExtCodes_major_opcode (XExtCodes *i) + { + return(i->major_opcode); + } + +-void set_XExtCodes_major_opcode(i, j) +-XExtCodes* i; +-int j; ++void ++set_XExtCodes_major_opcode (XExtCodes *i, int j) + { + i->major_opcode = j; + } + +-int XExtCodes_extension(i) +-XExtCodes* i; ++int ++XExtCodes_extension (XExtCodes *i) + { + return(i->extension); + } + +-void set_XExtCodes_extension(i, j) +-XExtCodes* i; +-int j; ++void ++set_XExtCodes_extension (XExtCodes *i, int j) + { + i->extension = j; + } +@@ -89,45 +85,43 @@ int j; + + /********* XPixmapFormatValues functions *****/ + +-long make_XPixmapFormatValues (){ ++long ++make_XPixmapFormatValues (void){ + return ((long) calloc(1, sizeof(XPixmapFormatValues))); + } + +-int XPixmapFormatValues_scanline_pad(i) +-XPixmapFormatValues* i; ++int ++XPixmapFormatValues_scanline_pad (XPixmapFormatValues *i) + { + return(i->scanline_pad); + } + +-void set_XPixmapFormatValues_scanline_pad(i, j) +-XPixmapFormatValues* i; +-int j; ++void ++set_XPixmapFormatValues_scanline_pad (XPixmapFormatValues *i, int j) + { + i->scanline_pad = j; + } + +-int XPixmapFormatValues_bits_per_pixel(i) +-XPixmapFormatValues* i; ++int ++XPixmapFormatValues_bits_per_pixel (XPixmapFormatValues *i) + { + return(i->bits_per_pixel); + } + +-void set_XPixmapFormatValues_bits_per_pixel(i, j) +-XPixmapFormatValues* i; +-int j; ++void ++set_XPixmapFormatValues_bits_per_pixel (XPixmapFormatValues *i, int j) + { + i->bits_per_pixel = j; + } + +-int XPixmapFormatValues_depth(i) +-XPixmapFormatValues* i; ++int ++XPixmapFormatValues_depth (XPixmapFormatValues *i) + { + return(i->depth); + } + +-void set_XPixmapFormatValues_depth(i, j) +-XPixmapFormatValues* i; +-int j; ++void ++set_XPixmapFormatValues_depth (XPixmapFormatValues *i, int j) + { + i->depth = j; + } +@@ -135,305 +129,283 @@ int j; + + /********* XGCValues functions *****/ + +-long make_XGCValues (){ ++long ++make_XGCValues (void){ + return ((long) calloc(1, sizeof(XGCValues))); + } + +-char XGCValues_dashes(i) +-XGCValues* i; ++char ++XGCValues_dashes (XGCValues *i) + { + return(i->dashes); + } + +-void set_XGCValues_dashes(i, j) +-XGCValues* i; +-char j; ++void ++set_XGCValues_dashes (XGCValues *i, int j) + { + i->dashes = j; + } + +-int XGCValues_dash_offset(i) +-XGCValues* i; ++int ++XGCValues_dash_offset (XGCValues *i) + { + return(i->dash_offset); + } + +-void set_XGCValues_dash_offset(i, j) +-XGCValues* i; +-int j; ++void ++set_XGCValues_dash_offset (XGCValues *i, int j) + { + i->dash_offset = j; + } + +-int XGCValues_clip_mask(i) +-XGCValues* i; ++int ++XGCValues_clip_mask (XGCValues *i) + { + return(i->clip_mask); + } + +-void set_XGCValues_clip_mask(i, j) +-XGCValues* i; +-int j; ++void ++set_XGCValues_clip_mask (XGCValues *i, int j) + { + i->clip_mask = j; + } + +-int XGCValues_clip_y_origin(i) +-XGCValues* i; ++int ++XGCValues_clip_y_origin (XGCValues *i) + { + return(i->clip_y_origin); + } + +-void set_XGCValues_clip_y_origin(i, j) +-XGCValues* i; +-int j; ++void ++set_XGCValues_clip_y_origin (XGCValues *i, int j) + { + i->clip_y_origin = j; + } + +-int XGCValues_clip_x_origin(i) +-XGCValues* i; ++int ++XGCValues_clip_x_origin (XGCValues *i) + { + return(i->clip_x_origin); + } + +-void set_XGCValues_clip_x_origin(i, j) +-XGCValues* i; +-int j; ++void ++set_XGCValues_clip_x_origin (XGCValues *i, int j) + { + i->clip_x_origin = j; + } + +-int XGCValues_graphics_exposures(i) +-XGCValues* i; ++int ++XGCValues_graphics_exposures (XGCValues *i) + { + return(i->graphics_exposures); + } + +-void set_XGCValues_graphics_exposures(i, j) +-XGCValues* i; +-int j; ++void ++set_XGCValues_graphics_exposures (XGCValues *i, int j) + { + i->graphics_exposures = j; + } + +-int XGCValues_subwindow_mode(i) +-XGCValues* i; ++int ++XGCValues_subwindow_mode (XGCValues *i) + { + return(i->subwindow_mode); + } + +-void set_XGCValues_subwindow_mode(i, j) +-XGCValues* i; +-int j; ++void ++set_XGCValues_subwindow_mode (XGCValues *i, int j) + { + i->subwindow_mode = j; + } + +-int XGCValues_font(i) +-XGCValues* i; ++int ++XGCValues_font (XGCValues *i) + { + return(i->font); + } + +-void set_XGCValues_font(i, j) +-XGCValues* i; +-int j; ++void ++set_XGCValues_font (XGCValues *i, int j) + { + i->font = j; + } + +-int XGCValues_ts_y_origin(i) +-XGCValues* i; ++int ++XGCValues_ts_y_origin (XGCValues *i) + { + return(i->ts_y_origin); + } + +-void set_XGCValues_ts_y_origin(i, j) +-XGCValues* i; +-int j; ++void ++set_XGCValues_ts_y_origin (XGCValues *i, int j) + { + i->ts_y_origin = j; + } + +-int XGCValues_ts_x_origin(i) +-XGCValues* i; ++int ++XGCValues_ts_x_origin (XGCValues *i) + { + return(i->ts_x_origin); + } + +-void set_XGCValues_ts_x_origin(i, j) +-XGCValues* i; +-int j; ++void ++set_XGCValues_ts_x_origin (XGCValues *i, int j) + { + i->ts_x_origin = j; + } + +-int XGCValues_stipple(i) +-XGCValues* i; ++int ++XGCValues_stipple (XGCValues *i) + { + return(i->stipple); + } + +-void set_XGCValues_stipple(i, j) +-XGCValues* i; +-int j; ++void ++set_XGCValues_stipple (XGCValues *i, int j) + { + i->stipple = j; + } + +-int XGCValues_tile(i) +-XGCValues* i; ++int ++XGCValues_tile (XGCValues *i) + { + return(i->tile); + } + +-void set_XGCValues_tile(i, j) +-XGCValues* i; +-int j; ++void ++set_XGCValues_tile (XGCValues *i, int j) + { + i->tile = j; + } + +-int XGCValues_arc_mode(i) +-XGCValues* i; ++int ++XGCValues_arc_mode (XGCValues *i) + { + return(i->arc_mode); + } + +-void set_XGCValues_arc_mode(i, j) +-XGCValues* i; +-int j; ++void ++set_XGCValues_arc_mode (XGCValues *i, int j) + { + i->arc_mode = j; + } + +-int XGCValues_fill_rule(i) +-XGCValues* i; ++int ++XGCValues_fill_rule (XGCValues *i) + { + return(i->fill_rule); + } + +-void set_XGCValues_fill_rule(i, j) +-XGCValues* i; +-int j; ++void ++set_XGCValues_fill_rule (XGCValues *i, int j) + { + i->fill_rule = j; + } + +-int XGCValues_fill_style(i) +-XGCValues* i; ++int ++XGCValues_fill_style (XGCValues *i) + { + return(i->fill_style); + } + +-void set_XGCValues_fill_style(i, j) +-XGCValues* i; +-int j; ++void ++set_XGCValues_fill_style (XGCValues *i, int j) + { + i->fill_style = j; + } + +-int XGCValues_join_style(i) +-XGCValues* i; ++int ++XGCValues_join_style (XGCValues *i) + { + return(i->join_style); + } + +-void set_XGCValues_join_style(i, j) +-XGCValues* i; +-int j; ++void ++set_XGCValues_join_style (XGCValues *i, int j) + { + i->join_style = j; + } + +-int XGCValues_cap_style(i) +-XGCValues* i; ++int ++XGCValues_cap_style (XGCValues *i) + { + return(i->cap_style); + } + +-void set_XGCValues_cap_style(i, j) +-XGCValues* i; +-int j; ++void ++set_XGCValues_cap_style (XGCValues *i, int j) + { + i->cap_style = j; + } + +-int XGCValues_line_style(i) +-XGCValues* i; ++int ++XGCValues_line_style (XGCValues *i) + { + return(i->line_style); + } + +-void set_XGCValues_line_style(i, j) +-XGCValues* i; +-int j; ++void ++set_XGCValues_line_style (XGCValues *i, int j) + { + i->line_style = j; + } + +-int XGCValues_line_width(i) +-XGCValues* i; ++int ++XGCValues_line_width (XGCValues *i) + { + return(i->line_width); + } + +-void set_XGCValues_line_width(i, j) +-XGCValues* i; +-int j; ++void ++set_XGCValues_line_width (XGCValues *i, int j) + { + i->line_width = j; + } + +-int XGCValues_background(i) +-XGCValues* i; ++int ++XGCValues_background (XGCValues *i) + { + return(i->background); + } + +-void set_XGCValues_background(i, j) +-XGCValues* i; +-int j; ++void ++set_XGCValues_background (XGCValues *i, int j) + { + i->background = j; + } + +-int XGCValues_foreground(i) +-XGCValues* i; ++int ++XGCValues_foreground (XGCValues *i) + { + return(i->foreground); + } + +-void set_XGCValues_foreground(i, j) +-XGCValues* i; +-int j; ++void ++set_XGCValues_foreground (XGCValues *i, int j) + { + i->foreground = j; + } + +-int XGCValues_plane_mask(i) +-XGCValues* i; ++int ++XGCValues_plane_mask (XGCValues *i) + { + return(i->plane_mask); + } + +-void set_XGCValues_plane_mask(i, j) +-XGCValues* i; +-int j; ++void ++set_XGCValues_plane_mask (XGCValues *i, int j) + { + i->plane_mask = j; + } + +-int XGCValues_function(i) +-XGCValues* i; ++int ++XGCValues_function (XGCValues *i) + { + return(i->function); + } + +-void set_XGCValues_function(i, j) +-XGCValues* i; +-int j; ++void ++set_XGCValues_function (XGCValues *i, int j) + { + i->function = j; + } +@@ -528,110 +500,103 @@ int j; + + /********* Visual functions *****/ + +-long make_Visual (){ ++long ++make_Visual (void){ + return ((long) calloc(1, sizeof(Visual))); + } + +-int Visual_map_entries(i) +-Visual* i; ++int ++Visual_map_entries (Visual *i) + { + return(i->map_entries); + } + +-void set_Visual_map_entries(i, j) +-Visual* i; +-int j; ++void ++set_Visual_map_entries (Visual *i, int j) + { + i->map_entries = j; + } + +-int Visual_bits_per_rgb(i) +-Visual* i; ++int ++Visual_bits_per_rgb (Visual *i) + { + return(i->bits_per_rgb); + } + +-void set_Visual_bits_per_rgb(i, j) +-Visual* i; +-int j; ++void ++set_Visual_bits_per_rgb (Visual *i, int j) + { + i->bits_per_rgb = j; + } + +-int Visual_blue_mask(i) +-Visual* i; ++int ++Visual_blue_mask (Visual *i) + { + return(i->blue_mask); + } + +-void set_Visual_blue_mask(i, j) +-Visual* i; +-int j; ++void ++set_Visual_blue_mask (Visual *i, int j) + { + i->blue_mask = j; + } + +-int Visual_green_mask(i) +-Visual* i; ++int ++Visual_green_mask (Visual *i) + { + return(i->green_mask); + } + +-void set_Visual_green_mask(i, j) +-Visual* i; +-int j; ++void ++set_Visual_green_mask (Visual *i, int j) + { + i->green_mask = j; + } + +-int Visual_red_mask(i) +-Visual* i; ++int ++Visual_red_mask (Visual *i) + { + return(i->red_mask); + } + +-void set_Visual_red_mask(i, j) +-Visual* i; +-int j; ++void ++set_Visual_red_mask (Visual *i, int j) + { + i->red_mask = j; + } + +-int Visual_class(i) +-Visual* i; ++int ++Visual_class (Visual *i) + { + return(i->class); + } + +-void set_Visual_class(i, j) +-Visual* i; +-int j; ++void ++set_Visual_class (Visual *i, int j) + { + i->class = j; + } + +-int Visual_visualid(i) +-Visual* i; ++int ++Visual_visualid (Visual *i) + { + return(i->visualid); + } + +-void set_Visual_visualid(i, j) +-Visual* i; +-int j; ++void ++set_Visual_visualid (Visual *i, int j) + { + i->visualid = j; + } + +-long Visual_ext_data(i) +-Visual* i; ++long ++Visual_ext_data (Visual *i) + { + return((long) i->ext_data); + } + +-void set_Visual_ext_data(i, j) +-Visual* i; +-long j; ++void ++set_Visual_ext_data (Visual *i, long j) + { + i->ext_data = (XExtData *) j; + } +@@ -639,45 +604,43 @@ long j; + + /********* Depth functions *****/ + +-long make_Depth (){ ++long ++make_Depth (void){ + return ((long) calloc(1, sizeof(Depth))); + } + +-long Depth_visuals(i) +-Depth* i; ++long ++Depth_visuals (Depth *i) + { + return((long) i->visuals); + } + +-void set_Depth_visuals(i, j) +-Depth* i; +-long j; ++void ++set_Depth_visuals (Depth *i, long j) + { + i->visuals = (Visual *) j; + } + +-int Depth_nvisuals(i) +-Depth* i; ++int ++Depth_nvisuals (Depth *i) + { + return(i->nvisuals); + } + +-void set_Depth_nvisuals(i, j) +-Depth* i; +-int j; ++void ++set_Depth_nvisuals (Depth *i, int j) + { + i->nvisuals = j; + } + +-int Depth_depth(i) +-Depth* i; ++int ++Depth_depth (Depth *i) + { + return(i->depth); + } + +-void set_Depth_depth(i, j) +-Depth* i; +-int j; ++void ++set_Depth_depth (Depth *i, int j) + { + i->depth = j; + } +@@ -685,266 +648,247 @@ int j; + + /********* Screen functions *****/ + +-long make_Screen (){ ++long ++make_Screen (void){ + return ((long) calloc(1, sizeof(Screen))); + } + +-int Screen_root_input_mask(i) +-Screen* i; ++int ++Screen_root_input_mask (Screen *i) + { + return(i->root_input_mask); + } + +-void set_Screen_root_input_mask(i, j) +-Screen* i; +-int j; ++void ++set_Screen_root_input_mask (Screen *i, int j) + { + i->root_input_mask = j; + } + +-int Screen_save_unders(i) +-Screen* i; ++int ++Screen_save_unders (Screen *i) + { + return(i->save_unders); + } + +-void set_Screen_save_unders(i, j) +-Screen* i; +-int j; ++void ++set_Screen_save_unders (Screen *i, int j) + { + i->save_unders = j; + } + +-int Screen_backing_store(i) +-Screen* i; ++int ++Screen_backing_store (Screen *i) + { + return(i->backing_store); + } + +-void set_Screen_backing_store(i, j) +-Screen* i; +-int j; ++void ++set_Screen_backing_store (Screen *i, int j) + { + i->backing_store = j; + } + +-int Screen_min_maps(i) +-Screen* i; ++int ++Screen_min_maps (Screen *i) + { + return(i->min_maps); + } + +-void set_Screen_min_maps(i, j) +-Screen* i; +-int j; ++void ++set_Screen_min_maps (Screen *i, int j) + { + i->min_maps = j; + } + +-int Screen_max_maps(i) +-Screen* i; ++int ++Screen_max_maps (Screen *i) + { + return(i->max_maps); + } + +-void set_Screen_max_maps(i, j) +-Screen* i; +-int j; ++void ++set_Screen_max_maps (Screen *i, int j) + { + i->max_maps = j; + } + +-int Screen_black_pixel(i) +-Screen* i; ++int ++Screen_black_pixel (Screen *i) + { + return(i->black_pixel); + } + +-void set_Screen_black_pixel(i, j) +-Screen* i; +-int j; ++void ++set_Screen_black_pixel (Screen *i, int j) + { + i->black_pixel = j; + } + +-int Screen_white_pixel(i) +-Screen* i; ++int ++Screen_white_pixel (Screen *i) + { + return(i->white_pixel); + } + +-void set_Screen_white_pixel(i, j) +-Screen* i; +-int j; ++void ++set_Screen_white_pixel (Screen *i, int j) + { + i->white_pixel = j; + } + +-int Screen_cmap(i) +-Screen* i; ++int ++Screen_cmap (Screen *i) + { + return(i->cmap); + } + +-void set_Screen_cmap(i, j) +-Screen* i; +-int j; ++void ++set_Screen_cmap (Screen *i, int j) + { + i->cmap = j; + } + +-long Screen_default_gc(i) +-Screen* i; ++long ++Screen_default_gc (Screen *i) + { + return((long) i->default_gc); + } + +-void set_Screen_default_gc(i, j) +-Screen* i; +-long j; ++void ++set_Screen_default_gc (Screen *i, long j) + { + i->default_gc = (GC) j; + } + +-long Screen_root_visual(i) +-Screen* i; ++long ++Screen_root_visual (Screen *i) + { + return((long) i->root_visual); + } + +-void set_Screen_root_visual(i, j) +-Screen* i; +-long j; ++void ++set_Screen_root_visual (Screen *i, long j) + { + i->root_visual = (Visual *) j; + } + +-int Screen_root_depth(i) +-Screen* i; ++int ++Screen_root_depth (Screen *i) + { + return(i->root_depth); + } + +-void set_Screen_root_depth(i, j) +-Screen* i; +-int j; ++void ++set_Screen_root_depth (Screen *i, int j) + { + i->root_depth = j; + } + +-long Screen_depths(i) +-Screen* i; ++long ++Screen_depths (Screen *i) + { + return((long) i->depths); + } + +-void set_Screen_depths(i, j) +-Screen* i; +-long j; ++void ++set_Screen_depths (Screen *i, long j) + { + i->depths = (Depth *) j; + } + +-int Screen_ndepths(i) +-Screen* i; ++int ++Screen_ndepths (Screen *i) + { + return(i->ndepths); + } + +-void set_Screen_ndepths(i, j) +-Screen* i; +-int j; ++void ++set_Screen_ndepths (Screen *i, int j) + { + i->ndepths = j; + } + +-int Screen_mheight(i) +-Screen* i; ++int ++Screen_mheight (Screen *i) + { + return(i->mheight); + } + +-void set_Screen_mheight(i, j) +-Screen* i; +-int j; ++void ++set_Screen_mheight (Screen *i, int j) + { + i->mheight = j; + } + +-int Screen_mwidth(i) +-Screen* i; ++int ++Screen_mwidth (Screen *i) + { + return(i->mwidth); + } + +-void set_Screen_mwidth(i, j) +-Screen* i; +-int j; ++void ++set_Screen_mwidth (Screen *i, int j) + { + i->mwidth = j; + } + +-int Screen_height(i) +-Screen* i; ++int ++Screen_height (Screen *i) + { + return(i->height); + } + +-void set_Screen_height(i, j) +-Screen* i; +-int j; ++void ++set_Screen_height (Screen *i, int j) + { + i->height = j; + } + +-int Screen_width(i) +-Screen* i; ++int ++Screen_width (Screen *i) + { + return(i->width); + } + +-void set_Screen_width(i, j) +-Screen* i; +-int j; ++void ++set_Screen_width (Screen *i, int j) + { + i->width = j; + } + +-int Screen_root(i) +-Screen* i; ++int ++Screen_root (Screen *i) + { + return(i->root); + } + +-void set_Screen_root(i, j) +-Screen* i; +-int j; ++void ++set_Screen_root (Screen *i, int j) + { + i->root = j; + } + +-long Screen_display(i) +-Screen* i; ++long ++Screen_display (Screen *i) + { + return((long) i->display); + } + +-void set_Screen_display(i, j) +-Screen* i; +-long j; ++void ++set_Screen_display (Screen *i, long j) + { + i->display = (struct _XDisplay *) j; + } + +-long Screen_ext_data(i) +-Screen* i; ++long ++Screen_ext_data (Screen *i) + { + return((long) i->ext_data); + } + +-void set_Screen_ext_data(i, j) +-Screen* i; +-long j; ++void ++set_Screen_ext_data (Screen *i, long j) + { + i->ext_data = (XExtData *) j; + } +@@ -952,58 +896,55 @@ long j; + + /********* ScreenFormat functions *****/ + +-long make_ScreenFormat (){ ++long ++make_ScreenFormat (void){ + return ((long) calloc(1, sizeof(ScreenFormat))); + } + +-int ScreenFormat_scanline_pad(i) +-ScreenFormat* i; ++int ++ScreenFormat_scanline_pad (ScreenFormat *i) + { + return(i->scanline_pad); + } + +-void set_ScreenFormat_scanline_pad(i, j) +-ScreenFormat* i; +-int j; ++void ++set_ScreenFormat_scanline_pad (ScreenFormat *i, int j) + { + i->scanline_pad = j; + } + +-int ScreenFormat_bits_per_pixel(i) +-ScreenFormat* i; ++int ++ScreenFormat_bits_per_pixel (ScreenFormat *i) + { + return(i->bits_per_pixel); + } + +-void set_ScreenFormat_bits_per_pixel(i, j) +-ScreenFormat* i; +-int j; ++void ++set_ScreenFormat_bits_per_pixel (ScreenFormat *i, int j) + { + i->bits_per_pixel = j; + } + +-int ScreenFormat_depth(i) +-ScreenFormat* i; ++int ++ScreenFormat_depth (ScreenFormat *i) + { + return(i->depth); + } + +-void set_ScreenFormat_depth(i, j) +-ScreenFormat* i; +-int j; ++void ++set_ScreenFormat_depth (ScreenFormat *i, int j) + { + i->depth = j; + } + +-long ScreenFormat_ext_data(i) +-ScreenFormat* i; ++long ++ScreenFormat_ext_data (ScreenFormat *i) + { + return((long) i->ext_data); + } + +-void set_ScreenFormat_ext_data(i, j) +-ScreenFormat* i; +-long j; ++void ++set_ScreenFormat_ext_data (ScreenFormat *i, long j) + { + i->ext_data = (XExtData *) j; + } +@@ -1011,201 +952,187 @@ long j; + + /********* XSetWindowAttributes functions *****/ + +-long make_XSetWindowAttributes (){ ++long ++make_XSetWindowAttributes (void){ + return ((long) calloc(1, sizeof(XSetWindowAttributes))); + } + +-int XSetWindowAttributes_cursor(i) +-XSetWindowAttributes* i; ++int ++XSetWindowAttributes_cursor (XSetWindowAttributes *i) + { + return(i->cursor); + } + +-void set_XSetWindowAttributes_cursor(i, j) +-XSetWindowAttributes* i; +-int j; ++void ++set_XSetWindowAttributes_cursor (XSetWindowAttributes *i, int j) + { + i->cursor = j; + } + +-int XSetWindowAttributes_colormap(i) +-XSetWindowAttributes* i; ++int ++XSetWindowAttributes_colormap (XSetWindowAttributes *i) + { + return(i->colormap); + } + +-void set_XSetWindowAttributes_colormap(i, j) +-XSetWindowAttributes* i; +-int j; ++void ++set_XSetWindowAttributes_colormap (XSetWindowAttributes *i, int j) + { + i->colormap = j; + } + +-int XSetWindowAttributes_override_redirect(i) +-XSetWindowAttributes* i; ++int ++XSetWindowAttributes_override_redirect (XSetWindowAttributes *i) + { + return(i->override_redirect); + } + +-void set_XSetWindowAttributes_override_redirect(i, j) +-XSetWindowAttributes* i; +-int j; ++void ++set_XSetWindowAttributes_override_redirect (XSetWindowAttributes *i, int j) + { + i->override_redirect = j; + } + +-int XSetWindowAttributes_do_not_propagate_mask(i) +-XSetWindowAttributes* i; ++int ++XSetWindowAttributes_do_not_propagate_mask (XSetWindowAttributes *i) + { + return(i->do_not_propagate_mask); + } + +-void set_XSetWindowAttributes_do_not_propagate_mask(i, j) +-XSetWindowAttributes* i; +-int j; ++void ++set_XSetWindowAttributes_do_not_propagate_mask (XSetWindowAttributes *i, int j) + { + i->do_not_propagate_mask = j; + } + +-int XSetWindowAttributes_event_mask(i) +-XSetWindowAttributes* i; ++int ++XSetWindowAttributes_event_mask (XSetWindowAttributes *i) + { + return(i->event_mask); + } + +-void set_XSetWindowAttributes_event_mask(i, j) +-XSetWindowAttributes* i; +-int j; ++void ++set_XSetWindowAttributes_event_mask (XSetWindowAttributes *i, int j) + { + i->event_mask = j; + } + +-int XSetWindowAttributes_save_under(i) +-XSetWindowAttributes* i; ++int ++XSetWindowAttributes_save_under (XSetWindowAttributes *i) + { + return(i->save_under); + } + +-void set_XSetWindowAttributes_save_under(i, j) +-XSetWindowAttributes* i; +-int j; ++void ++set_XSetWindowAttributes_save_under (XSetWindowAttributes *i, int j) + { + i->save_under = j; + } + +-int XSetWindowAttributes_backing_pixel(i) +-XSetWindowAttributes* i; ++int ++XSetWindowAttributes_backing_pixel (XSetWindowAttributes *i) + { + return(i->backing_pixel); + } + +-void set_XSetWindowAttributes_backing_pixel(i, j) +-XSetWindowAttributes* i; +-int j; ++void ++set_XSetWindowAttributes_backing_pixel (XSetWindowAttributes *i, int j) + { + i->backing_pixel = j; + } + +-int XSetWindowAttributes_backing_planes(i) +-XSetWindowAttributes* i; ++int ++XSetWindowAttributes_backing_planes (XSetWindowAttributes *i) + { + return(i->backing_planes); + } + +-void set_XSetWindowAttributes_backing_planes(i, j) +-XSetWindowAttributes* i; +-int j; ++void ++set_XSetWindowAttributes_backing_planes (XSetWindowAttributes *i, int j) + { + i->backing_planes = j; + } + +-int XSetWindowAttributes_backing_store(i) +-XSetWindowAttributes* i; ++int ++XSetWindowAttributes_backing_store (XSetWindowAttributes *i) + { + return(i->backing_store); + } + +-void set_XSetWindowAttributes_backing_store(i, j) +-XSetWindowAttributes* i; +-int j; ++void ++set_XSetWindowAttributes_backing_store (XSetWindowAttributes *i, int j) + { + i->backing_store = j; + } + +-int XSetWindowAttributes_win_gravity(i) +-XSetWindowAttributes* i; ++int ++XSetWindowAttributes_win_gravity (XSetWindowAttributes *i) + { + return(i->win_gravity); + } + +-void set_XSetWindowAttributes_win_gravity(i, j) +-XSetWindowAttributes* i; +-int j; ++void ++set_XSetWindowAttributes_win_gravity (XSetWindowAttributes *i, int j) + { + i->win_gravity = j; + } + +-int XSetWindowAttributes_bit_gravity(i) +-XSetWindowAttributes* i; ++int ++XSetWindowAttributes_bit_gravity (XSetWindowAttributes *i) + { + return(i->bit_gravity); + } + +-void set_XSetWindowAttributes_bit_gravity(i, j) +-XSetWindowAttributes* i; +-int j; ++void ++set_XSetWindowAttributes_bit_gravity (XSetWindowAttributes *i, int j) + { + i->bit_gravity = j; + } + +-int XSetWindowAttributes_border_pixel(i) +-XSetWindowAttributes* i; ++int ++XSetWindowAttributes_border_pixel (XSetWindowAttributes *i) + { + return(i->border_pixel); + } + +-void set_XSetWindowAttributes_border_pixel(i, j) +-XSetWindowAttributes* i; +-int j; ++void ++set_XSetWindowAttributes_border_pixel (XSetWindowAttributes *i, int j) + { + i->border_pixel = j; + } + +-int XSetWindowAttributes_border_pixmap(i) +-XSetWindowAttributes* i; ++int ++XSetWindowAttributes_border_pixmap (XSetWindowAttributes *i) + { + return(i->border_pixmap); + } + +-void set_XSetWindowAttributes_border_pixmap(i, j) +-XSetWindowAttributes* i; +-int j; ++void ++set_XSetWindowAttributes_border_pixmap (XSetWindowAttributes *i, int j) + { + i->border_pixmap = j; + } + +-int XSetWindowAttributes_background_pixel(i) +-XSetWindowAttributes* i; ++int ++XSetWindowAttributes_background_pixel (XSetWindowAttributes *i) + { + return(i->background_pixel); + } + +-void set_XSetWindowAttributes_background_pixel(i, j) +-XSetWindowAttributes* i; +-int j; ++void ++set_XSetWindowAttributes_background_pixel (XSetWindowAttributes *i, int j) + { + i->background_pixel = j; + } + +-int XSetWindowAttributes_background_pixmap(i) +-XSetWindowAttributes* i; ++int ++XSetWindowAttributes_background_pixmap (XSetWindowAttributes *i) + { + return(i->background_pixmap); + } + +-void set_XSetWindowAttributes_background_pixmap(i, j) +-XSetWindowAttributes* i; +-int j; ++void ++set_XSetWindowAttributes_background_pixmap (XSetWindowAttributes *i, int j) + { + i->background_pixmap = j; + } +@@ -1213,305 +1140,283 @@ int j; + + /********* XWindowAttributes functions *****/ + +-long make_XWindowAttributes (){ ++long ++make_XWindowAttributes (void){ + return ((long) calloc(1, sizeof(XWindowAttributes))); + } + +-long XWindowAttributes_screen(i) +-XWindowAttributes* i; ++long ++XWindowAttributes_screen (XWindowAttributes *i) + { + return((long) i->screen); + } + +-void set_XWindowAttributes_screen(i, j) +-XWindowAttributes* i; +-long j; ++void ++set_XWindowAttributes_screen (XWindowAttributes *i, long j) + { + i->screen = (Screen *) j; + } + +-int XWindowAttributes_override_redirect(i) +-XWindowAttributes* i; ++int ++XWindowAttributes_override_redirect (XWindowAttributes *i) + { + return(i->override_redirect); + } + +-void set_XWindowAttributes_override_redirect(i, j) +-XWindowAttributes* i; +-int j; ++void ++set_XWindowAttributes_override_redirect (XWindowAttributes *i, int j) + { + i->override_redirect = j; + } + +-int XWindowAttributes_do_not_propagate_mask(i) +-XWindowAttributes* i; ++int ++XWindowAttributes_do_not_propagate_mask (XWindowAttributes *i) + { + return(i->do_not_propagate_mask); + } + +-void set_XWindowAttributes_do_not_propagate_mask(i, j) +-XWindowAttributes* i; +-int j; ++void ++set_XWindowAttributes_do_not_propagate_mask (XWindowAttributes *i, int j) + { + i->do_not_propagate_mask = j; + } + +-int XWindowAttributes_your_event_mask(i) +-XWindowAttributes* i; ++int ++XWindowAttributes_your_event_mask (XWindowAttributes *i) + { + return(i->your_event_mask); + } + +-void set_XWindowAttributes_your_event_mask(i, j) +-XWindowAttributes* i; +-int j; ++void ++set_XWindowAttributes_your_event_mask (XWindowAttributes *i, int j) + { + i->your_event_mask = j; + } + +-int XWindowAttributes_all_event_masks(i) +-XWindowAttributes* i; ++int ++XWindowAttributes_all_event_masks (XWindowAttributes *i) + { + return(i->all_event_masks); + } + +-void set_XWindowAttributes_all_event_masks(i, j) +-XWindowAttributes* i; +-int j; ++void ++set_XWindowAttributes_all_event_masks (XWindowAttributes *i, int j) + { + i->all_event_masks = j; + } + +-int XWindowAttributes_map_state(i) +-XWindowAttributes* i; ++int ++XWindowAttributes_map_state (XWindowAttributes *i) + { + return(i->map_state); + } + +-void set_XWindowAttributes_map_state(i, j) +-XWindowAttributes* i; +-int j; ++void ++set_XWindowAttributes_map_state (XWindowAttributes *i, int j) + { + i->map_state = j; + } + +-int XWindowAttributes_map_installed(i) +-XWindowAttributes* i; ++int ++XWindowAttributes_map_installed (XWindowAttributes *i) + { + return(i->map_installed); + } + +-void set_XWindowAttributes_map_installed(i, j) +-XWindowAttributes* i; +-int j; ++void ++set_XWindowAttributes_map_installed (XWindowAttributes *i, int j) + { + i->map_installed = j; + } + +-int XWindowAttributes_colormap(i) +-XWindowAttributes* i; ++int ++XWindowAttributes_colormap (XWindowAttributes *i) + { + return(i->colormap); + } + +-void set_XWindowAttributes_colormap(i, j) +-XWindowAttributes* i; +-int j; ++void ++set_XWindowAttributes_colormap (XWindowAttributes *i, int j) + { + i->colormap = j; + } + +-int XWindowAttributes_save_under(i) +-XWindowAttributes* i; ++int ++XWindowAttributes_save_under (XWindowAttributes *i) + { + return(i->save_under); + } + +-void set_XWindowAttributes_save_under(i, j) +-XWindowAttributes* i; +-int j; ++void ++set_XWindowAttributes_save_under (XWindowAttributes *i, int j) + { + i->save_under = j; + } + +-int XWindowAttributes_backing_pixel(i) +-XWindowAttributes* i; ++int ++XWindowAttributes_backing_pixel (XWindowAttributes *i) + { + return(i->backing_pixel); + } + +-void set_XWindowAttributes_backing_pixel(i, j) +-XWindowAttributes* i; +-int j; ++void ++set_XWindowAttributes_backing_pixel (XWindowAttributes *i, int j) + { + i->backing_pixel = j; + } + +-int XWindowAttributes_backing_planes(i) +-XWindowAttributes* i; ++int ++XWindowAttributes_backing_planes (XWindowAttributes *i) + { + return(i->backing_planes); + } + +-void set_XWindowAttributes_backing_planes(i, j) +-XWindowAttributes* i; +-int j; ++void ++set_XWindowAttributes_backing_planes (XWindowAttributes *i, int j) + { + i->backing_planes = j; + } + +-int XWindowAttributes_backing_store(i) +-XWindowAttributes* i; ++int ++XWindowAttributes_backing_store (XWindowAttributes *i) + { + return(i->backing_store); + } + +-void set_XWindowAttributes_backing_store(i, j) +-XWindowAttributes* i; +-int j; ++void ++set_XWindowAttributes_backing_store (XWindowAttributes *i, int j) + { + i->backing_store = j; + } + +-int XWindowAttributes_win_gravity(i) +-XWindowAttributes* i; ++int ++XWindowAttributes_win_gravity (XWindowAttributes *i) + { + return(i->win_gravity); + } + +-void set_XWindowAttributes_win_gravity(i, j) +-XWindowAttributes* i; +-int j; ++void ++set_XWindowAttributes_win_gravity (XWindowAttributes *i, int j) + { + i->win_gravity = j; + } + +-int XWindowAttributes_bit_gravity(i) +-XWindowAttributes* i; ++int ++XWindowAttributes_bit_gravity (XWindowAttributes *i) + { + return(i->bit_gravity); + } + +-void set_XWindowAttributes_bit_gravity(i, j) +-XWindowAttributes* i; +-int j; ++void ++set_XWindowAttributes_bit_gravity (XWindowAttributes *i, int j) + { + i->bit_gravity = j; + } + +-int XWindowAttributes_class(i) +-XWindowAttributes* i; ++int ++XWindowAttributes_class (XWindowAttributes *i) + { + return(i->class); + } + +-void set_XWindowAttributes_class(i, j) +-XWindowAttributes* i; +-int j; ++void ++set_XWindowAttributes_class (XWindowAttributes *i, int j) + { + i->class = j; + } + +-int XWindowAttributes_root(i) +-XWindowAttributes* i; ++int ++XWindowAttributes_root (XWindowAttributes *i) + { + return(i->root); + } + +-void set_XWindowAttributes_root(i, j) +-XWindowAttributes* i; +-int j; ++void ++set_XWindowAttributes_root (XWindowAttributes *i, int j) + { + i->root = j; + } + +-long XWindowAttributes_visual(i) +-XWindowAttributes* i; ++long ++XWindowAttributes_visual (XWindowAttributes *i) + { + return((long) i->visual); + } + +-void set_XWindowAttributes_visual(i, j) +-XWindowAttributes* i; +-long j; ++void ++set_XWindowAttributes_visual (XWindowAttributes *i, long j) + { + i->visual = (Visual *) j; + } + +-int XWindowAttributes_depth(i) +-XWindowAttributes* i; ++int ++XWindowAttributes_depth (XWindowAttributes *i) + { + return(i->depth); + } + +-void set_XWindowAttributes_depth(i, j) +-XWindowAttributes* i; +-int j; ++void ++set_XWindowAttributes_depth (XWindowAttributes *i, int j) + { + i->depth = j; + } + +-int XWindowAttributes_border_width(i) +-XWindowAttributes* i; ++int ++XWindowAttributes_border_width (XWindowAttributes *i) + { + return(i->border_width); + } + +-void set_XWindowAttributes_border_width(i, j) +-XWindowAttributes* i; +-int j; ++void ++set_XWindowAttributes_border_width (XWindowAttributes *i, int j) + { + i->border_width = j; + } + +-int XWindowAttributes_height(i) +-XWindowAttributes* i; ++int ++XWindowAttributes_height (XWindowAttributes *i) + { + return(i->height); + } + +-void set_XWindowAttributes_height(i, j) +-XWindowAttributes* i; +-int j; ++void ++set_XWindowAttributes_height (XWindowAttributes *i, int j) + { + i->height = j; + } + +-int XWindowAttributes_width(i) +-XWindowAttributes* i; ++int ++XWindowAttributes_width (XWindowAttributes *i) + { + return(i->width); + } + +-void set_XWindowAttributes_width(i, j) +-XWindowAttributes* i; +-int j; ++void ++set_XWindowAttributes_width (XWindowAttributes *i, int j) + { + i->width = j; + } + +-int XWindowAttributes_y(i) +-XWindowAttributes* i; ++int ++XWindowAttributes_y (XWindowAttributes *i) + { + return(i->y); + } + +-void set_XWindowAttributes_y(i, j) +-XWindowAttributes* i; +-int j; ++void ++set_XWindowAttributes_y (XWindowAttributes *i, int j) + { + i->y = j; + } + +-int XWindowAttributes_x(i) +-XWindowAttributes* i; ++int ++XWindowAttributes_x (XWindowAttributes *i) + { + return(i->x); + } + +-void set_XWindowAttributes_x(i, j) +-XWindowAttributes* i; +-int j; ++void ++set_XWindowAttributes_x (XWindowAttributes *i, int j) + { + i->x = j; + } +@@ -1519,45 +1424,43 @@ int j; + + /********* XHostAddress functions *****/ + +-long make_XHostAddress (){ ++long ++make_XHostAddress (void){ + return ((long) calloc(1, sizeof(XHostAddress))); + } + +-long XHostAddress_address(i) +-XHostAddress* i; ++long ++XHostAddress_address (XHostAddress *i) + { + return((long) i->address); + } + +-void set_XHostAddress_address(i, j) +-XHostAddress* i; +-long j; ++void ++set_XHostAddress_address (XHostAddress *i, long j) + { + i->address = (char *) j; + } + +-int XHostAddress_length(i) +-XHostAddress* i; ++int ++XHostAddress_length (XHostAddress *i) + { + return(i->length); + } + +-void set_XHostAddress_length(i, j) +-XHostAddress* i; +-int j; ++void ++set_XHostAddress_length (XHostAddress *i, int j) + { + i->length = j; + } + +-int XHostAddress_family(i) +-XHostAddress* i; ++int ++XHostAddress_family (XHostAddress *i) + { + return(i->family); + } + +-void set_XHostAddress_family(i, j) +-XHostAddress* i; +-int j; ++void ++set_XHostAddress_family (XHostAddress *i, int j) + { + i->family = j; + } +@@ -1565,214 +1468,199 @@ int j; + + /********* XImage functions *****/ + +-long make_XImage (){ ++long ++make_XImage (void){ + return ((long) calloc(1, sizeof(XImage))); + } + +-long XImage_obdata(i) +-XImage* i; ++long ++XImage_obdata (XImage *i) + { + return((long) i->obdata); + } + +-void set_XImage_obdata(i, j) +-XImage* i; +-long j; ++void ++set_XImage_obdata (XImage *i, long j) + { + i->obdata = (XPointer) j; + } + +-int XImage_blue_mask(i) +-XImage* i; ++int ++XImage_blue_mask (XImage *i) + { + return(i->blue_mask); + } + +-void set_XImage_blue_mask(i, j) +-XImage* i; +-int j; ++void ++set_XImage_blue_mask (XImage *i, int j) + { + i->blue_mask = j; + } + +-int XImage_green_mask(i) +-XImage* i; ++int ++XImage_green_mask (XImage *i) + { + return(i->green_mask); + } + +-void set_XImage_green_mask(i, j) +-XImage* i; +-int j; ++void ++set_XImage_green_mask (XImage *i, int j) + { + i->green_mask = j; + } + +-int XImage_red_mask(i) +-XImage* i; ++int ++XImage_red_mask (XImage *i) + { + return(i->red_mask); + } + +-void set_XImage_red_mask(i, j) +-XImage* i; +-int j; ++void ++set_XImage_red_mask (XImage *i, int j) + { + i->red_mask = j; + } + +-int XImage_bits_per_pixel(i) +-XImage* i; ++int ++XImage_bits_per_pixel (XImage *i) + { + return(i->bits_per_pixel); + } + +-void set_XImage_bits_per_pixel(i, j) +-XImage* i; +-int j; ++void ++set_XImage_bits_per_pixel (XImage *i, int j) + { + i->bits_per_pixel = j; + } + +-int XImage_bytes_per_line(i) +-XImage* i; ++int ++XImage_bytes_per_line (XImage *i) + { + return(i->bytes_per_line); + } + +-void set_XImage_bytes_per_line(i, j) +-XImage* i; +-int j; ++void ++set_XImage_bytes_per_line (XImage *i, int j) + { + i->bytes_per_line = j; + } + +-int XImage_depth(i) +-XImage* i; ++int ++XImage_depth (XImage *i) + { + return(i->depth); + } + +-void set_XImage_depth(i, j) +-XImage* i; +-int j; ++void ++set_XImage_depth (XImage *i, int j) + { + i->depth = j; + } + +-int XImage_bitmap_pad(i) +-XImage* i; ++int ++XImage_bitmap_pad (XImage *i) + { + return(i->bitmap_pad); + } + +-void set_XImage_bitmap_pad(i, j) +-XImage* i; +-int j; ++void ++set_XImage_bitmap_pad (XImage *i, int j) + { + i->bitmap_pad = j; + } + +-int XImage_bitmap_bit_order(i) +-XImage* i; ++int ++XImage_bitmap_bit_order (XImage *i) + { + return(i->bitmap_bit_order); + } + +-void set_XImage_bitmap_bit_order(i, j) +-XImage* i; +-int j; ++void ++set_XImage_bitmap_bit_order (XImage *i, int j) + { + i->bitmap_bit_order = j; + } + +-int XImage_bitmap_unit(i) +-XImage* i; ++int ++XImage_bitmap_unit (XImage *i) + { + return(i->bitmap_unit); + } + +-void set_XImage_bitmap_unit(i, j) +-XImage* i; +-int j; ++void ++set_XImage_bitmap_unit (XImage *i, int j) + { + i->bitmap_unit = j; + } + +-int XImage_byte_order(i) +-XImage* i; ++int ++XImage_byte_order (XImage *i) + { + return(i->byte_order); + } + +-void set_XImage_byte_order(i, j) +-XImage* i; +-int j; ++void ++set_XImage_byte_order (XImage *i, int j) + { + i->byte_order = j; + } + +-long XImage_data(i) +-XImage* i; ++long ++XImage_data (XImage *i) + { + return((long) i->data); + } + +-void set_XImage_data(i, j) +-XImage* i; +-long j; ++void ++set_XImage_data (XImage *i, long j) + { + i->data = (char *) j; + } + +-int XImage_format(i) +-XImage* i; ++int ++XImage_format (XImage *i) + { + return(i->format); + } + +-void set_XImage_format(i, j) +-XImage* i; +-int j; ++void ++set_XImage_format (XImage *i, int j) + { + i->format = j; + } + +-int XImage_xoffset(i) +-XImage* i; ++int ++XImage_xoffset (XImage *i) + { + return(i->xoffset); + } + +-void set_XImage_xoffset(i, j) +-XImage* i; +-int j; ++void ++set_XImage_xoffset (XImage *i, int j) + { + i->xoffset = j; + } + +-int XImage_height(i) +-XImage* i; ++int ++XImage_height (XImage *i) + { + return(i->height); + } + +-void set_XImage_height(i, j) +-XImage* i; +-int j; ++void ++set_XImage_height (XImage *i, int j) + { + i->height = j; + } + +-int XImage_width(i) +-XImage* i; ++int ++XImage_width (XImage *i) + { + return(i->width); + } + +-void set_XImage_width(i, j) +-XImage* i; +-int j; ++void ++set_XImage_width (XImage *i, int j) + { + i->width = j; + } +@@ -1780,97 +1668,91 @@ int j; + + /********* XWindowChanges functions *****/ + +-long make_XWindowChanges (){ ++long ++make_XWindowChanges (void){ + return ((long) calloc(1, sizeof(XWindowChanges))); + } + +-int XWindowChanges_stack_mode(i) +-XWindowChanges* i; ++int ++XWindowChanges_stack_mode (XWindowChanges *i) + { + return(i->stack_mode); + } + +-void set_XWindowChanges_stack_mode(i, j) +-XWindowChanges* i; +-int j; ++void ++set_XWindowChanges_stack_mode (XWindowChanges *i, int j) + { + i->stack_mode = j; + } + +-int XWindowChanges_sibling(i) +-XWindowChanges* i; ++int ++XWindowChanges_sibling (XWindowChanges *i) + { + return(i->sibling); + } + +-void set_XWindowChanges_sibling(i, j) +-XWindowChanges* i; +-int j; ++void ++set_XWindowChanges_sibling (XWindowChanges *i, int j) + { + i->sibling = j; + } + +-int XWindowChanges_border_width(i) +-XWindowChanges* i; ++int ++XWindowChanges_border_width (XWindowChanges *i) + { + return(i->border_width); + } + +-void set_XWindowChanges_border_width(i, j) +-XWindowChanges* i; +-int j; ++void ++set_XWindowChanges_border_width (XWindowChanges *i, int j) + { + i->border_width = j; + } + +-int XWindowChanges_height(i) +-XWindowChanges* i; ++int ++XWindowChanges_height (XWindowChanges *i) + { + return(i->height); + } + +-void set_XWindowChanges_height(i, j) +-XWindowChanges* i; +-int j; ++void ++set_XWindowChanges_height (XWindowChanges *i, int j) + { + i->height = j; + } + +-int XWindowChanges_width(i) +-XWindowChanges* i; ++int ++XWindowChanges_width (XWindowChanges *i) + { + return(i->width); + } + +-void set_XWindowChanges_width(i, j) +-XWindowChanges* i; +-int j; ++void ++set_XWindowChanges_width (XWindowChanges *i, int j) + { + i->width = j; + } + +-int XWindowChanges_y(i) +-XWindowChanges* i; ++int ++XWindowChanges_y (XWindowChanges *i) + { + return(i->y); + } + +-void set_XWindowChanges_y(i, j) +-XWindowChanges* i; +-int j; ++void ++set_XWindowChanges_y (XWindowChanges *i, int j) + { + i->y = j; + } + +-int XWindowChanges_x(i) +-XWindowChanges* i; ++int ++XWindowChanges_x (XWindowChanges *i) + { + return(i->x); + } + +-void set_XWindowChanges_x(i, j) +-XWindowChanges* i; +-int j; ++void ++set_XWindowChanges_x (XWindowChanges *i, int j) + { + i->x = j; + } +@@ -1878,84 +1760,79 @@ int j; + + /********* XColor functions *****/ + +-long make_XColor (){ ++long ++make_XColor (void){ + return ((long) calloc(1, sizeof(XColor))); + } + +-char XColor_pad(i) +-XColor* i; ++char ++XColor_pad (XColor *i) + { + return(i->pad); + } + +-void set_XColor_pad(i, j) +-XColor* i; +-char j; ++void ++set_XColor_pad (XColor *i, int j) + { + i->pad = j; + } + +-char XColor_flags(i) +-XColor* i; ++char ++XColor_flags (XColor *i) + { + return(i->flags); + } + +-void set_XColor_flags(i, j) +-XColor* i; +-char j; ++void ++set_XColor_flags (XColor *i, int j) + { + i->flags = j; + } + +-int XColor_blue(i) +-XColor* i; ++int ++XColor_blue (XColor *i) + { + return(i->blue); + } + +-void set_XColor_blue(i, j) +-XColor* i; +-int j; ++void ++set_XColor_blue (XColor *i, int j) + { + i->blue = j; + } + +-int XColor_green(i) +-XColor* i; ++int ++XColor_green (XColor *i) + { + return(i->green); + } + +-void set_XColor_green(i, j) +-XColor* i; +-int j; ++void ++set_XColor_green (XColor *i, int j) + { + i->green = j; + } + +-int XColor_red(i) +-XColor* i; ++int ++XColor_red (XColor *i) + { + return(i->red); + } + +-void set_XColor_red(i, j) +-XColor* i; +-int j; ++void ++set_XColor_red (XColor *i, int j) + { + i->red = j; + } + +-int XColor_pixel(i) +-XColor* i; ++int ++XColor_pixel (XColor *i) + { + return(i->pixel); + } + +-void set_XColor_pixel(i, j) +-XColor* i; +-int j; ++void ++set_XColor_pixel (XColor *i, int j) + { + i->pixel = j; + } +@@ -1963,58 +1840,55 @@ int j; + + /********* XSegment functions *****/ + +-long make_XSegment (){ ++long ++make_XSegment (void){ + return ((long) calloc(1, sizeof(XSegment))); + } + +-int XSegment_y2(i) +-XSegment* i; ++int ++XSegment_y2 (XSegment *i) + { + return(i->y2); + } + +-void set_XSegment_y2(i, j) +-XSegment* i; +-int j; ++void ++set_XSegment_y2 (XSegment *i, int j) + { + i->y2 = j; + } + +-int XSegment_x2(i) +-XSegment* i; ++int ++XSegment_x2 (XSegment *i) + { + return(i->x2); + } + +-void set_XSegment_x2(i, j) +-XSegment* i; +-int j; ++void ++set_XSegment_x2 (XSegment *i, int j) + { + i->x2 = j; + } + +-int XSegment_y1(i) +-XSegment* i; ++int ++XSegment_y1 (XSegment *i) + { + return(i->y1); + } + +-void set_XSegment_y1(i, j) +-XSegment* i; +-int j; ++void ++set_XSegment_y1 (XSegment *i, int j) + { + i->y1 = j; + } + +-int XSegment_x1(i) +-XSegment* i; ++int ++XSegment_x1 (XSegment *i) + { + return(i->x1); + } + +-void set_XSegment_x1(i, j) +-XSegment* i; +-int j; ++void ++set_XSegment_x1 (XSegment *i, int j) + { + i->x1 = j; + } +@@ -2022,32 +1896,31 @@ int j; + + /********* XPoint functions *****/ + +-long make_XPoint (){ ++long ++make_XPoint (void){ + return ((long) calloc(1, sizeof(XPoint))); + } + +-int XPoint_y(i) +-XPoint* i; ++int ++XPoint_y (XPoint *i) + { + return(i->y); + } + +-void set_XPoint_y(i, j) +-XPoint* i; +-int j; ++void ++set_XPoint_y (XPoint *i, int j) + { + i->y = j; + } + +-int XPoint_x(i) +-XPoint* i; ++int ++XPoint_x (XPoint *i) + { + return(i->x); + } + +-void set_XPoint_x(i, j) +-XPoint* i; +-int j; ++void ++set_XPoint_x (XPoint *i, int j) + { + i->x = j; + } +@@ -2055,58 +1928,55 @@ int j; + + /********* XRectangle functions *****/ + +-long make_XRectangle (){ ++long ++make_XRectangle (void){ + return ((long) calloc(1, sizeof(XRectangle))); + } + +-int XRectangle_height(i) +-XRectangle* i; ++int ++XRectangle_height (XRectangle *i) + { + return(i->height); + } + +-void set_XRectangle_height(i, j) +-XRectangle* i; +-int j; ++void ++set_XRectangle_height (XRectangle *i, int j) + { + i->height = j; + } + +-int XRectangle_width(i) +-XRectangle* i; ++int ++XRectangle_width (XRectangle *i) + { + return(i->width); + } + +-void set_XRectangle_width(i, j) +-XRectangle* i; +-int j; ++void ++set_XRectangle_width (XRectangle *i, int j) + { + i->width = j; + } + +-int XRectangle_y(i) +-XRectangle* i; ++int ++XRectangle_y (XRectangle *i) + { + return(i->y); + } + +-void set_XRectangle_y(i, j) +-XRectangle* i; +-int j; ++void ++set_XRectangle_y (XRectangle *i, int j) + { + i->y = j; + } + +-int XRectangle_x(i) +-XRectangle* i; ++int ++XRectangle_x (XRectangle *i) + { + return(i->x); + } + +-void set_XRectangle_x(i, j) +-XRectangle* i; +-int j; ++void ++set_XRectangle_x (XRectangle *i, int j) + { + i->x = j; + } +@@ -2114,84 +1984,79 @@ int j; + + /********* XArc functions *****/ + +-long make_XArc (){ ++long ++make_XArc (void){ + return ((long) calloc(1, sizeof(XArc))); + } + +-int XArc_angle2(i) +-XArc* i; ++int ++XArc_angle2 (XArc *i) + { + return(i->angle2); + } + +-void set_XArc_angle2(i, j) +-XArc* i; +-int j; ++void ++set_XArc_angle2 (XArc *i, int j) + { + i->angle2 = j; + } + +-int XArc_angle1(i) +-XArc* i; ++int ++XArc_angle1 (XArc *i) + { + return(i->angle1); + } + +-void set_XArc_angle1(i, j) +-XArc* i; +-int j; ++void ++set_XArc_angle1 (XArc *i, int j) + { + i->angle1 = j; + } + +-int XArc_height(i) +-XArc* i; ++int ++XArc_height (XArc *i) + { + return(i->height); + } + +-void set_XArc_height(i, j) +-XArc* i; +-int j; ++void ++set_XArc_height (XArc *i, int j) + { + i->height = j; + } + +-int XArc_width(i) +-XArc* i; ++int ++XArc_width (XArc *i) + { + return(i->width); + } + +-void set_XArc_width(i, j) +-XArc* i; +-int j; ++void ++set_XArc_width (XArc *i, int j) + { + i->width = j; + } + +-int XArc_y(i) +-XArc* i; ++int ++XArc_y (XArc *i) + { + return(i->y); + } + +-void set_XArc_y(i, j) +-XArc* i; +-int j; ++void ++set_XArc_y (XArc *i, int j) + { + i->y = j; + } + +-int XArc_x(i) +-XArc* i; ++int ++XArc_x (XArc *i) + { + return(i->x); + } + +-void set_XArc_x(i, j) +-XArc* i; +-int j; ++void ++set_XArc_x (XArc *i, int j) + { + i->x = j; + } +@@ -2199,110 +2064,103 @@ int j; + + /********* XKeyboardControl functions *****/ + +-long make_XKeyboardControl (){ ++long ++make_XKeyboardControl (void){ + return ((long) calloc(1, sizeof(XKeyboardControl))); + } + +-int XKeyboardControl_auto_repeat_mode(i) +-XKeyboardControl* i; ++int ++XKeyboardControl_auto_repeat_mode (XKeyboardControl *i) + { + return(i->auto_repeat_mode); + } + +-void set_XKeyboardControl_auto_repeat_mode(i, j) +-XKeyboardControl* i; +-int j; ++void ++set_XKeyboardControl_auto_repeat_mode (XKeyboardControl *i, int j) + { + i->auto_repeat_mode = j; + } + +-int XKeyboardControl_key(i) +-XKeyboardControl* i; ++int ++XKeyboardControl_key (XKeyboardControl *i) + { + return(i->key); + } + +-void set_XKeyboardControl_key(i, j) +-XKeyboardControl* i; +-int j; ++void ++set_XKeyboardControl_key (XKeyboardControl *i, int j) + { + i->key = j; + } + +-int XKeyboardControl_led_mode(i) +-XKeyboardControl* i; ++int ++XKeyboardControl_led_mode (XKeyboardControl *i) + { + return(i->led_mode); + } + +-void set_XKeyboardControl_led_mode(i, j) +-XKeyboardControl* i; +-int j; ++void ++set_XKeyboardControl_led_mode (XKeyboardControl *i, int j) + { + i->led_mode = j; + } + +-int XKeyboardControl_led(i) +-XKeyboardControl* i; ++int ++XKeyboardControl_led (XKeyboardControl *i) + { + return(i->led); + } + +-void set_XKeyboardControl_led(i, j) +-XKeyboardControl* i; +-int j; ++void ++set_XKeyboardControl_led (XKeyboardControl *i, int j) + { + i->led = j; + } + +-int XKeyboardControl_bell_duration(i) +-XKeyboardControl* i; ++int ++XKeyboardControl_bell_duration (XKeyboardControl *i) + { + return(i->bell_duration); + } + +-void set_XKeyboardControl_bell_duration(i, j) +-XKeyboardControl* i; +-int j; ++void ++set_XKeyboardControl_bell_duration (XKeyboardControl *i, int j) + { + i->bell_duration = j; + } + +-int XKeyboardControl_bell_pitch(i) +-XKeyboardControl* i; ++int ++XKeyboardControl_bell_pitch (XKeyboardControl *i) + { + return(i->bell_pitch); + } + +-void set_XKeyboardControl_bell_pitch(i, j) +-XKeyboardControl* i; +-int j; ++void ++set_XKeyboardControl_bell_pitch (XKeyboardControl *i, int j) + { + i->bell_pitch = j; + } + +-int XKeyboardControl_bell_percent(i) +-XKeyboardControl* i; ++int ++XKeyboardControl_bell_percent (XKeyboardControl *i) + { + return(i->bell_percent); + } + +-void set_XKeyboardControl_bell_percent(i, j) +-XKeyboardControl* i; +-int j; ++void ++set_XKeyboardControl_bell_percent (XKeyboardControl *i, int j) + { + i->bell_percent = j; + } + +-int XKeyboardControl_key_click_percent(i) +-XKeyboardControl* i; ++int ++XKeyboardControl_key_click_percent (XKeyboardControl *i) + { + return(i->key_click_percent); + } + +-void set_XKeyboardControl_key_click_percent(i, j) +-XKeyboardControl* i; +-int j; ++void ++set_XKeyboardControl_key_click_percent (XKeyboardControl *i, int j) + { + i->key_click_percent = j; + } +@@ -2310,97 +2168,91 @@ int j; + + /********* XKeyboardState functions *****/ + +-long make_XKeyboardState (){ ++long ++make_XKeyboardState (void){ + return ((long) calloc(1, sizeof(XKeyboardState))); + } + +-char *XKeyboardState_auto_repeats(i) +-XKeyboardState* i; ++char * ++XKeyboardState_auto_repeats (XKeyboardState *i) + { + return(i->auto_repeats); + } + +-void set_XKeyboardState_auto_repeats(i, j) +-XKeyboardState* i; +-char *j; ++void ++set_XKeyboardState_auto_repeats (XKeyboardState *i, char *j) + { + strcpy(i->auto_repeats, j); + } + +-int XKeyboardState_global_auto_repeat(i) +-XKeyboardState* i; ++int ++XKeyboardState_global_auto_repeat (XKeyboardState *i) + { + return(i->global_auto_repeat); + } + +-void set_XKeyboardState_global_auto_repeat(i, j) +-XKeyboardState* i; +-int j; ++void ++set_XKeyboardState_global_auto_repeat (XKeyboardState *i, int j) + { + i->global_auto_repeat = j; + } + +-int XKeyboardState_led_mask(i) +-XKeyboardState* i; ++int ++XKeyboardState_led_mask (XKeyboardState *i) + { + return(i->led_mask); + } + +-void set_XKeyboardState_led_mask(i, j) +-XKeyboardState* i; +-int j; ++void ++set_XKeyboardState_led_mask (XKeyboardState *i, int j) + { + i->led_mask = j; + } + +-int XKeyboardState_bell_duration(i) +-XKeyboardState* i; ++int ++XKeyboardState_bell_duration (XKeyboardState *i) + { + return(i->bell_duration); + } + +-void set_XKeyboardState_bell_duration(i, j) +-XKeyboardState* i; +-int j; ++void ++set_XKeyboardState_bell_duration (XKeyboardState *i, int j) + { + i->bell_duration = j; + } + +-int XKeyboardState_bell_pitch(i) +-XKeyboardState* i; ++int ++XKeyboardState_bell_pitch (XKeyboardState *i) + { + return(i->bell_pitch); + } + +-void set_XKeyboardState_bell_pitch(i, j) +-XKeyboardState* i; +-int j; ++void ++set_XKeyboardState_bell_pitch (XKeyboardState *i, int j) + { + i->bell_pitch = j; + } + +-int XKeyboardState_bell_percent(i) +-XKeyboardState* i; ++int ++XKeyboardState_bell_percent (XKeyboardState *i) + { + return(i->bell_percent); + } + +-void set_XKeyboardState_bell_percent(i, j) +-XKeyboardState* i; +-int j; ++void ++set_XKeyboardState_bell_percent (XKeyboardState *i, int j) + { + i->bell_percent = j; + } + +-int XKeyboardState_key_click_percent(i) +-XKeyboardState* i; ++int ++XKeyboardState_key_click_percent (XKeyboardState *i) + { + return(i->key_click_percent); + } + +-void set_XKeyboardState_key_click_percent(i, j) +-XKeyboardState* i; +-int j; ++void ++set_XKeyboardState_key_click_percent (XKeyboardState *i, int j) + { + i->key_click_percent = j; + } +@@ -2408,45 +2260,43 @@ int j; + + /********* XTimeCoord functions *****/ + +-long make_XTimeCoord (){ ++long ++make_XTimeCoord (void){ + return ((long) calloc(1, sizeof(XTimeCoord))); + } + +-int XTimeCoord_y(i) +-XTimeCoord* i; ++int ++XTimeCoord_y (XTimeCoord *i) + { + return(i->y); + } + +-void set_XTimeCoord_y(i, j) +-XTimeCoord* i; +-int j; ++void ++set_XTimeCoord_y (XTimeCoord *i, int j) + { + i->y = j; + } + +-int XTimeCoord_x(i) +-XTimeCoord* i; ++int ++XTimeCoord_x (XTimeCoord *i) + { + return(i->x); + } + +-void set_XTimeCoord_x(i, j) +-XTimeCoord* i; +-int j; ++void ++set_XTimeCoord_x (XTimeCoord *i, int j) + { + i->x = j; + } + +-int XTimeCoord_time(i) +-XTimeCoord* i; ++int ++XTimeCoord_time (XTimeCoord *i) + { + return(i->time); + } + +-void set_XTimeCoord_time(i, j) +-XTimeCoord* i; +-int j; ++void ++set_XTimeCoord_time (XTimeCoord *i, int j) + { + i->time = j; + } +@@ -2454,32 +2304,31 @@ int j; + + /********* XModifierKeymap functions *****/ + +-long make_XModifierKeymap (){ ++long ++make_XModifierKeymap (void){ + return ((long) calloc(1, sizeof(XModifierKeymap))); + } + +-long XModifierKeymap_modifiermap(i) +-XModifierKeymap* i; ++long ++XModifierKeymap_modifiermap (XModifierKeymap *i) + { + return((long) i->modifiermap); + } + +-void set_XModifierKeymap_modifiermap(i, j) +-XModifierKeymap* i; +-long j; ++void ++set_XModifierKeymap_modifiermap (XModifierKeymap *i, long j) + { + i->modifiermap = (KeyCode *) j; + } + +-int XModifierKeymap_max_keypermod(i) +-XModifierKeymap* i; ++int ++XModifierKeymap_max_keypermod (XModifierKeymap *i) + { + return(i->max_keypermod); + } + +-void set_XModifierKeymap_max_keypermod(i, j) +-XModifierKeymap* i; +-int j; ++void ++set_XModifierKeymap_max_keypermod (XModifierKeymap *i, int j) + { + i->max_keypermod = j; + } +--- gcl27-2.7.1.orig/xgcl-2/Xutil-2.c ++++ gcl27-2.7.1/xgcl-2/Xutil-2.c +@@ -25,31 +25,38 @@ + #include + #include + +-int IsKeypadKey(keysym) int keysym; { ++int IsKeypadKey (int keysym) { + return (((unsigned)(keysym) >= XK_KP_Space) && ((unsigned)(keysym) <= XK_KP_Equal));} + +-int IsCursorKey(keysym) int keysym; { ++int ++IsCursorKey (int keysym) ++{ + return (((unsigned)(keysym) >= XK_Home) && ((unsigned)(keysym) < XK_Select));} + +-int IsPFKey(keysym) int keysym; { ++int ++IsPFKey (int keysym) { + return (((unsigned)(keysym) >= XK_KP_F1) && ((unsigned)(keysym) <= XK_KP_F4));} + +-int IsFunctionKey(keysym) int keysym; { ++int ++IsFunctionKey (int keysym) { + return (((unsigned)(keysym) >= XK_F1) && ((unsigned)(keysym) <= XK_F35));} + +-int IsMiscFunctionKey(keysym) int keysym; { ++int ++IsMiscFunctionKey (int keysym) { + return (((unsigned)(keysym) >= XK_Select) && ((unsigned)(keysym) < XK_KP_Space));} + +-int IsModifierKey(keysym) int keysym; { ++int ++IsModifierKey (int keysym) { + return (((unsigned)(keysym) >= XK_Shift_L) && ((unsigned)(keysym) <= XK_Hyper_R));} + +-int XUniqueContext() ++int ++XUniqueContext (void) + { + return( ((int)XrmUniqueQuark()) ); + } + +-int XStringToContext(string) +- char *string; ++int ++XStringToContext (char *string) + { + return( (int)XrmStringToQuark(string) ); + } diff --git a/patches/Version_2_7_2pre9 b/patches/Version_2_7_2pre9 new file mode 100644 index 0000000..7784916 --- /dev/null +++ b/patches/Version_2_7_2pre9 @@ -0,0 +1,49 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Camm Maguire +Date: Feb, 19 2026 22:24:25 +0000 +Subject: [PATCH] + +TODO: Put a short summary on the line above and replace this paragraph +with a longer explanation of this change. Complete the meta-information +with other relevant fields (see below for details). To make it easier, the +information below has been extracted from the changelog. Adjust it or drop +it. + +--- +The information above should follow the Patch Tagging Guidelines, please +checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here +are templates for supplementary fields that you might want to add: + +Origin: (upstream|backport|vendor|other), (|commit:) +Bug: +Bug-: +Forwarded: (no|not-needed|) +Applied-Upstream: , (|commit:) +Reviewed-By: + +--- gcl27-2.7.1.orig/Makefile.am ++++ gcl27-2.7.1/Makefile.am +@@ -459,6 +459,7 @@ h/cmpincludea.h: $(filter-out gclincl.h, + $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@ + + o/qfv.c: o/pre_qfv.c h/new_decl.h bin/c23.awk ++ chmod +x bin/c23.awk + $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | bin/c23.awk >$@ + + h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h +--- gcl27-2.7.1.orig/Makefile.in ++++ gcl27-2.7.1/Makefile.in +@@ -4907,6 +4907,7 @@ h/cmpincludea.h: $(filter-out gclincl.h, + $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@ + + o/qfv.c: o/pre_qfv.c h/new_decl.h bin/c23.awk ++ chmod +x bin/c23.awk + $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | bin/c23.awk >$@ + + h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h +--- gcl27-2.7.1.orig/git.tag ++++ gcl27-2.7.1/git.tag +@@ -1,2 +1,2 @@ +-"Version_2_7_2pre8" ++"Version_2_7_2pre9" + diff --git a/patches/series b/patches/series new file mode 100644 index 0000000..97d8d11 --- /dev/null +++ b/patches/series @@ -0,0 +1,10 @@ +Version_2_7_2pre1 +Version_2_7_2pre2 +Version_2_7_2ore3 +Version_2_7_2pre5 +Version_2_7_2pre6 +Version_2_7_2pre7 +Version_2_7_2pre8 +Version_2_7_2pre9 +Version_2_7_2pre10 +Version_2_7_2pre11 diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 0000000..cc632a9 --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1 @@ +[type: gettext/rfc822deb] gcl27.templates diff --git a/po/ca.po b/po/ca.po new file mode 100644 index 0000000..7c78e1a --- /dev/null +++ b/po/ca.po @@ -0,0 +1,77 @@ +# Catalan translation of gcl27's debconf messages +# Copyright © 2025 poc senderi +# This file is distributed under the same license as the gcl27 package. +# poc senderi , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: gcl27\n" +"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n" +"POT-Creation-Date: 2025-05-03 13:26+0000\n" +"PO-Revision-Date: 2025-10-19 12:10+0200\n" +"Last-Translator: poc senderi \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.4.2\n" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "Use the work-in-progress ANSI build by default?" +msgstr "" +"Voleu usar de manera predeterminada la versió, que encara s'hi està " +"treballant, ANSI?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "" +"GCL is in the process of providing an ANSI compliant image in addition to " +"its traditional CLtL1 image still in production use. Please see the README." +"Debian file for a brief description of these terms. Setting this variable " +"will determine which image you will use by default on executing 'gcl27'. " +"You can locally override this choice by setting the GCL_ANSI environment " +"variable to any string but \"no\" for the ANSI build, and to \"no\" for the " +"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will " +"be reported in the initial startup banner." +msgstr "" +"El GCL es troba en procés d'oferir una imatge conforme a ANSI a més a més de " +"la imatge tradicional CLtL1 que encara es troba en producció. Mireu el " +"fitxer README.Debian per una breu descripció sobre aquests termes. Establir " +"aquesta variable determinarà quina imatge s'usarà per defecte quan s'executi " +"«gcl27». Podeu canviar localment aquesta decisió establint la variable " +"d'entorn GCL_ANSI a qualsevol cosa tret de «no» per a la versió ANSI, i a " +"«no» per a la versió CLtL1, per exemple «GCL_ANSI=t gcl27». La versió activa " +"es mostrarà al bàner inicial durant l'engegada." + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "Use the profiling build by default?" +msgstr "Voleu usar per defecte la versió de perfilació?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "" +"GCL now has optional support for profiling via gprof. Please see the " +"documentation for si::gprof-start and si::gprof-quit for details. As this " +"build is slower than builds without gprof support, it is not recommended for " +"final production use. You can locally override the default choice made here " +"by setting the GCL_PROF environment variable to any non-empty string for " +"profiling support, and to the empty string for the more optimized builds, e." +"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the " +"initial startup banner." +msgstr "" +"El GCL ara disposa de compatibilitat opcional per a la perfilació usant el " +"«gprof». Per als detalls, vegeu la documentació de «si::gprof-start» i «si::" +"gprof-quit». Atès que aquesta versió és més lenta que d'altres sense " +"compatibilitat amb el «gprof», no es recomana per a l'ús en producció. Podeu " +"canviar localment la decisió predeterminada feta aquí establint la variable " +"d'entorn GCL_PROF a qualsevol cosa tret d'una cadena buida per a la " +"compatibilitat amb perfilació, i a una cadena buida per a les versions més " +"optimitzades, per exemple «GCL_PROF=t gcl27». Si la perfilació està " +"activada, això es mostrarà al bàner inicial durant l'engegada." diff --git a/po/cs.po b/po/cs.po new file mode 100644 index 0000000..15a9685 --- /dev/null +++ b/po/cs.po @@ -0,0 +1,149 @@ +# +# Translators, if you are not familiar with the PO format, gettext +# documentation is worth reading, especially sections dedicated to +# this format, e.g. by running: +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Some information specific to po-debconf are available at +# /usr/share/doc/po-debconf/README-trans +# or http://www.debian.org/intl/l10n/po-debconf/README-trans +# +# Developers do not need to manually edit POT or PO files. +# +msgid "" +msgstr "" +"Project-Id-Version: gcl\n" +"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n" +"POT-Creation-Date: 2025-06-01 09:56-0400\n" +"PO-Revision-Date: 2007-12-24 13:21+0100\n" +"Last-Translator: Miroslav Kure \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "Use the work-in-progress ANSI build by default?" +msgstr "Používat implicitně ANSI verzi (stále ve vývoji)?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "" +"GCL is in the process of providing an ANSI compliant image in addition to " +"its traditional CLtL1 image still in production use. Please see the README." +"Debian file for a brief description of these terms. Setting this variable " +"will determine which image you will use by default on executing 'gcl27'. " +"You can locally override this choice by setting the GCL_ANSI environment " +"variable to any string but \"no\" for the ANSI build, and to \"no\" for the " +"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will " +"be reported in the initial startup banner." +msgstr "" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "Use the profiling build by default?" +msgstr "Používat implicitně profilování?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "" +"GCL now has optional support for profiling via gprof. Please see the " +"documentation for si::gprof-start and si::gprof-quit for details. As this " +"build is slower than builds without gprof support, it is not recommended for " +"final production use. You can locally override the default choice made here " +"by setting the GCL_PROF environment variable to any non-empty string for " +"profiling support, and to the empty string for the more optimized builds, e." +"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the " +"initial startup banner." +msgstr "" + +#~ msgid "" +#~ "GCL is in the process of providing an ANSI compliant image in addition to " +#~ "its traditional CLtL1 image still in production use." +#~ msgstr "" +#~ "GCL se nachází ve fázi, kdy kromě tradičního obrazu CLtL1 (který se stále " +#~ "používá) poskytuje i obraz kompatibilní s ANSI." + +#~ msgid "" +#~ "Please see the README.Debian file for a brief description of these terms. " +#~ "Choosing this option will determine which image will be used by default " +#~ "when executing 'gcl@EXT@'." +#~ msgstr "" +#~ "Pro stručný popis těchto termínů si prosím přečtěte soubor README.Debian. " +#~ "Touto odpovědí určujete, který obraz se spustí po zadání „gcl@EXT@“. " + +#~ msgid "" +#~ "This setting may be overridden by setting the GCL_ANSI environment " +#~ "variable to any non-empty string for the ANSI build, and to the empty " +#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently " +#~ "enforced build flavor will be reported in the initial startup banner." +#~ msgstr "" +#~ "Toto nastavení můžete přebít nastavením proměnné prostředí GCL_ANSI na " +#~ "neprázdný řetězec (použije ANSI verzi) nebo na prázdnou hodnotu (použije " +#~ "CLtL1 verzi). Například GCL_ANSI=t gcl@EXT@. Aktuálně použitá verze se " +#~ "zobrazí na úvodní obrazovce." + +#~ msgid "GCL has optional support for profiling via gprof." +#~ msgstr "GCL nyní podporuje profilování přes gprof." + +#~ msgid "" +#~ "Please see the documentation for si::gprof-start and si::gprof-quit for " +#~ "details. As this build is slower than builds without gprof support, it is " +#~ "not recommended for final production use." +#~ msgstr "" +#~ "Podrobnosti naleznete v dokumentaci si::gprof-start a si::gprof-quit. " +#~ "Tato verze je pomalejší než verze bez podpory gprof, tudíž ji " +#~ "nedoporučujeme pro koncové produkční nasazení." + +#~ msgid "" +#~ "Set the GCL_PROF environment variable to the empty string for more " +#~ "optimized builds, or any non-empty string for profiling support; e.g. " +#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in " +#~ "the initial startup banner." +#~ msgstr "" +#~ "Toto nastavení můžete přebít nastavením proměnné prostředí GCL_PROF na " +#~ "neprázdný řetězec (zapne profilování) nebo na prázdnou hodnotu (povolí " +#~ "lepší optimalizace). Například GCL_PROF=t gcl@EXT@. Pokud je profilování " +#~ "zapnuto, dozvíte se o tom z úvodní obrazovky." + +#~ msgid "" +#~ "GCL is one of the oldest free common lisp systems still in use. Several " +#~ "production systems have used it for over a decade. The common lisp " +#~ "standard in effect when GCL was first released is known as \"Common Lisp, " +#~ "the Language\" (CLtL1) after a book by Steele of the same name providing " +#~ "this specification. Subsequently, a much expanded standard was adopted " +#~ "by the American National Standards Institute (ANSI), which is still " +#~ "considered the definitive common lisp language specification to this " +#~ "day. GCL is in the process of providing an ANSI compliant image in " +#~ "addition to its traditional CLtL1 image still in production use. Setting " +#~ "this variable will determine which image you will use by default on " +#~ "executing 'gcl'. You can locally override this choice by setting the " +#~ "GCL_ANSI environment variable to any non-empty string for the ANSI build, " +#~ "and to the empty string for the CLtL1 build, e.g. GCL_ANSI=t gcl. You " +#~ "may be interested in reviewing the ANSI test results sketching the level " +#~ "of compliance achieved thus far in /usr/share/doc/gcl/test_results.gz. " +#~ "The flavor of the build in force will be reported in the initial startup " +#~ "banner." +#~ msgstr "" +#~ "GCL je jedním z nejstarších svobodných systémů common lispu, který se " +#~ "dosud používá. Několik produkčních systémů jej používá déle než dekádu. " +#~ "Při prvním vydání GCL byl v platnosti standard common lispu známý jako " +#~ "\"Common Lisp, the Language\" (CLtL1) pojmenovaný podle Steelovy knihy " +#~ "stejného jména, která tento standard definovala. Americkým národním " +#~ "institutem pro standardizaci (ANSI) pak byl přijat podstatně rozšířený " +#~ "standard, který se do dnešní doby považuje za konečnou specifikaci common " +#~ "lispu. Kromě tradičního CLtL1 se GCL snaží nabídnout i verzi odpovídající " +#~ "ANSI standardu. Nastavením této proměnné určíte, jakým způsobem se má " +#~ "binárka 'gcl' chovat. Lokálně můžete toto nastavení přepsat nastavením " +#~ "proměnné prostředí GCL_ANSI na neprázdný řetězec (zapne ANSI chování) " +#~ "nebo na prázdnou hodnotu (zapne CLtL1 chování). Například GCL_ANSI-t gcl. " +#~ "Aktuálně vybraný standard bude zobrazen v úvodní obrazovce prostředí. " +#~ "Zajímavé může být porovnání dosud dosažené shody s ANSI standardem v " +#~ "souboru /usr/share/doc/gcl/test_results.gz." diff --git a/po/da.po b/po/da.po new file mode 100644 index 0000000..30cc0ad --- /dev/null +++ b/po/da.po @@ -0,0 +1,109 @@ +# Danish translation gcl. +# Copyright (C) 2012 gcl & nedenstående oversættere. +# This file is distributed under the same license as the gcl package. +# Joe Hansen (joedalton2@yahoo.dk), 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: gcl\n" +"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n" +"POT-Creation-Date: 2025-06-01 09:56-0400\n" +"PO-Revision-Date: 2012-03-31 12:42+0000\n" +"Last-Translator: Joe Hansen \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "Use the work-in-progress ANSI build by default?" +msgstr "Brug den foreløbige ANSI bygget som standard?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "" +"GCL is in the process of providing an ANSI compliant image in addition to " +"its traditional CLtL1 image still in production use. Please see the README." +"Debian file for a brief description of these terms. Setting this variable " +"will determine which image you will use by default on executing 'gcl27'. " +"You can locally override this choice by setting the GCL_ANSI environment " +"variable to any string but \"no\" for the ANSI build, and to \"no\" for the " +"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will " +"be reported in the initial startup banner." +msgstr "" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "Use the profiling build by default?" +msgstr "Brug profileringen bygget som standard?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "" +"GCL now has optional support for profiling via gprof. Please see the " +"documentation for si::gprof-start and si::gprof-quit for details. As this " +"build is slower than builds without gprof support, it is not recommended for " +"final production use. You can locally override the default choice made here " +"by setting the GCL_PROF environment variable to any non-empty string for " +"profiling support, and to the empty string for the more optimized builds, e." +"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the " +"initial startup banner." +msgstr "" + +#~ msgid "" +#~ "GCL is in the process of providing an ANSI compliant image in addition to " +#~ "its traditional CLtL1 image still in production use." +#~ msgstr "" +#~ "GCL er i gang med at tilbyde et ANSI-overholdende aftryk udover det " +#~ "traditionelle CLtL1-aftryk som stadig er i produktionsbrug." + +#~ msgid "" +#~ "Please see the README.Debian file for a brief description of these terms. " +#~ "Choosing this option will determine which image will be used by default " +#~ "when executing 'gcl@EXT@'." +#~ msgstr "" +#~ "Se venligst filen README.Debian for en kort beskrivelse af disse termer. " +#~ "Valg af denne indstilling vil bestemme hvilket aftryk som vil blive brugt " +#~ "som standard, når der køres »gcl@EXT@«." + +#~ msgid "" +#~ "This setting may be overridden by setting the GCL_ANSI environment " +#~ "variable to any non-empty string for the ANSI build, and to the empty " +#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently " +#~ "enforced build flavor will be reported in the initial startup banner." +#~ msgstr "" +#~ "Denne indstilling kan overskrives ved at angive miljøvariablen GCL_ANSI " +#~ "til enhver streng der ikke er tom for ANSI-bygningen, og til den tomme " +#~ "streng for CLtL1-bygningen, f.eks. GCL_ANSI=t gcl@EXT@. Den aktuelt " +#~ "tvungne byggevariant vil blive rapporteret i det oprindelige " +#~ "opstartsbanner." + +#~ msgid "GCL has optional support for profiling via gprof." +#~ msgstr "GCL har valgfri understøttelse for profilering via gprof." + +#~ msgid "" +#~ "Please see the documentation for si::gprof-start and si::gprof-quit for " +#~ "details. As this build is slower than builds without gprof support, it is " +#~ "not recommended for final production use." +#~ msgstr "" +#~ "Se venligst dokumentationen for si::gprof-start og si::gprof-quit for " +#~ "detaljer. Da denne bygning er langsommere end bygninger uden gprof-" +#~ "understøttelse, så anbefales den ikke for endelig produktionsbrug." + +#~ msgid "" +#~ "Set the GCL_PROF environment variable to the empty string for more " +#~ "optimized builds, or any non-empty string for profiling support; e.g. " +#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in " +#~ "the initial startup banner." +#~ msgstr "" +#~ "Angiv miljøvariablen GCL_PROF til den tomme streng for bedre optimerede " +#~ "bygninger, eller enhver streng der ikke er tom for " +#~ "profileringsunderstøttelse; f.eks. GCL_PROF=t gcl@EXT@. Hvis profilering " +#~ "er aktiveret, vil denne blive rapporteret i det oprindelige " +#~ "opstartsbanner." diff --git a/po/de.po b/po/de.po new file mode 100644 index 0000000..1a15c03 --- /dev/null +++ b/po/de.po @@ -0,0 +1,126 @@ +# Translation of gcl debconf templates to German +# Copyright (C) Stefan Bauer , 2007. +# Copyright (C) Helge Kreutzmann , 2007, 2008, 2025. +# Copyright (C) 2024 Camm Maguire +# This file is distributed under the same license as the gcl package. +# +msgid "" +msgstr "" +"Project-Id-Version: gcl 2.7.1-4\n" +"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n" +"POT-Creation-Date: 2025-06-01 09:56-0400\n" +"PO-Revision-Date: 2025-05-07 19:26+0200\n" +"Last-Translator: Helge Kreutzmann \n" +"Language-Team: de \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "Use the work-in-progress ANSI build by default?" +msgstr "Standardmäßig den sich in Arbeit befindenden ANSI-Build verwenden?" + +# FIXME »no« both for the ANSI-Build and for the CLtL1 build? Sentence also strange +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "" +"GCL is in the process of providing an ANSI compliant image in addition to " +"its traditional CLtL1 image still in production use. Please see the README." +"Debian file for a brief description of these terms. Setting this variable " +"will determine which image you will use by default on executing 'gcl27'. " +"You can locally override this choice by setting the GCL_ANSI environment " +"variable to any string but \"no\" for the ANSI build, and to \"no\" for the " +"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will " +"be reported in the initial startup banner." +msgstr "" +"GCL arbeitet neben dem traditionellen CLtL1-Abbild für den Produktiveinsatz " +"zusätzlich an der Bereitstellung eines kompatiblen ANSI-Abbildes. Bitte " +"beachten Sie die README.Debian-Datei für eine kurze Beschreibung dieses " +"Themas. Durch diese Variable definieren Sie, welches Abbild voreingestellt " +"bei der Ausführung von gcl27 verwendet wird. Diese Auswahl kann lokal durch " +"jede Zeichenkette außer »no« für den ANSI-Bau und »no« für den CLtL1-Bau " +"außer Kraft gesetzt werden, z.B. GCL_ANSI=t gcl27. Die Variante des " +"geltenden Baus wird im einführenden Start-Banner berichtet." + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "Use the profiling build by default?" +msgstr "Standardmäßig den Profiling-Build verwenden?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "" +"GCL now has optional support for profiling via gprof. Please see the " +"documentation for si::gprof-start and si::gprof-quit for details. As this " +"build is slower than builds without gprof support, it is not recommended for " +"final production use. You can locally override the default choice made here " +"by setting the GCL_PROF environment variable to any non-empty string for " +"profiling support, and to the empty string for the more optimized builds, e." +"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the " +"initial startup banner." +msgstr "" +"GCL besitzt optionale Unterstützung für Profiling mit Gprof. Bitte lesen Sie " +"hierzu die Dokumentation von si::gprof-start und si::gprof-quit für " +"weiterführende Informationen. Da dieser Bau langsamer ist als ohne Gprof-" +"Unterstützung, wird dieser Weg nicht für den endgültigen produktiven Einsatz " +"empfohlen. Sie können die hier gemachten Angaben lokal über die GCL_PROF-" +"Umgebungsvariable durch einen beliebigen Wert ersetzen, bzw. durch einen " +"leeren Wert für den weitaus anpassungsfähigeren Bau, z.B. GCL_PROF=t gcl27. " +"Falls Profiling aktiviert ist, erfolgt eine Meldung im einführenden Start-" +"Banner." + +#~ msgid "" +#~ "GCL is in the process of providing an ANSI compliant image in addition to " +#~ "its traditional CLtL1 image still in production use." +#~ msgstr "" +#~ "GCL ist derzeit dabei, zusätzlich zu dem noch im Einsatz befindlichen " +#~ "traditionellen CLtL1-Abbild ein ANSI-konformes Abbild bereitzustellen." + +#~ msgid "" +#~ "Please see the README.Debian file for a brief description of these terms. " +#~ "Choosing this option will determine which image will be used by default " +#~ "when executing 'gcl@EXT@'." +#~ msgstr "" +#~ "Bitte lesen Sie die Datei README.Debian fr eine kurze Beschreibung dieser " +#~ "Begriffe. Die Wahl dieser Option bestimmen, welches Image standardmig " +#~ "verwendet wird, wenn gcl@EXT@ ausgefhrt wird." + +#~ msgid "" +#~ "This setting may be overridden by setting the GCL_ANSI environment " +#~ "variable to any non-empty string for the ANSI build, and to the empty " +#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently " +#~ "enforced build flavor will be reported in the initial startup banner." +#~ msgstr "" +#~ "Diese Einstellung kann mit der Umgebungsvariablen GCL_ANSI berschrieben " +#~ "werden. Jede nicht-leere Zeichenkette führt zur ANSI-Erstellung, und die " +#~ "leere Zeichenkette fhrt zum CLtL1-Bau, z.B. GCL_ANSI=t gcl@EXT@. In der " +#~ "Startmeldung wird die derzeit erzwungene Bauart berichtet." + +#~ msgid "GCL has optional support for profiling via gprof." +#~ msgstr "GCL besitzt optionale Untersttzung fr Profiling mittels Gprof." + +#~ msgid "" +#~ "Please see the documentation for si::gprof-start and si::gprof-quit for " +#~ "details. As this build is slower than builds without gprof support, it is " +#~ "not recommended for final production use." +#~ msgstr "" +#~ "Bitte lesen Sie die Dokumentation für si::gprof-start und si::gprof-quit " +#~ "fr Details. Da ein solches Programm langsamer ist als ein Programm ohne " +#~ "Gprof-Untersttzung, wird dies fr den Produktiveinsatz nicht empfohlen." + +#~ msgid "" +#~ "Set the GCL_PROF environment variable to the empty string for more " +#~ "optimized builds, or any non-empty string for profiling support; e.g. " +#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in " +#~ "the initial startup banner." +#~ msgstr "" +#~ "Setzen Sie die Umgebungsvariable GCL_PROF auf die leere Zeichenkette, um " +#~ "ein optimiertes Programm zu erhalten oder auf irgendeine nicht-leere " +#~ "Zeichenkette, für Profiling-Untersttzung; z.B. GCL_PROF=t gcl@EXT@. Falls " +#~ "Profiling aktiviert ist, wird dies in der Startmeldung angezeigt." diff --git a/po/es.po b/po/es.po new file mode 100644 index 0000000..bc4f918 --- /dev/null +++ b/po/es.po @@ -0,0 +1,197 @@ +# gcl po-debconf translation to Spanish +# Copyright (C) 2005, 2007, 2008 Software in the Public Interest +# Copyright (C) 2024 Camm Maguire +# This file is distributed under the same license as the gcl package. +# +# Changes: +# - Initial translation +# César Gómez Martín , 2005 +# +# - Updates +# Rudy Godoy Guillén , 2007 +# Francisco Javier Cuadrado , 2008 +# +# Traductores, si no conoce el formato PO, merece la pena leer la +# documentación de gettext, especialmente las secciones dedicadas a este +# formato, por ejemplo ejecutando: +# +# info -n '(gettext)PO Files' +# info -n '(gettext)Header Entry' +# +# Equipo de traducción al español, por favor, lean antes de traducir +# los siguientes documentos: +# +# - El proyecto de traducción de Debian al español +# http://www.debian.org/intl/spanish/ +# especialmente las notas de traducción en +# http://www.debian.org/intl/spanish/notas +# +# - La guía de traducción de po's de debconf: +# /usr/share/doc/po-debconf/README-trans +# o http://www.debian.org/intl/l10n/po-debconf/README-trans +# +msgid "" +msgstr "" +"Project-Id-Version: gcl 2.7.1-7\n" +"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n" +"POT-Creation-Date: 2025-10-06 13:08-0400\n" +"PO-Revision-Date: 2025-06-20 16:42+0200\n" +"Last-Translator: Camaleón \n" +"Language-Team: Debian l10n spanish \n" +"Language: es_ES\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Generator: Poedit 2.4.2\n" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "Use the work-in-progress ANSI build by default?" +msgstr "" +"¿Quiere utilizar la generación ANSI todavía en desarrollo de manera " +"predeterminada?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "" +"GCL is in the process of providing an ANSI compliant image in addition to " +"its traditional CLtL1 image still in production use. Please see the " +"README.Debian file for a brief description of these terms. Setting this " +"variable will determine which image you will use by default on executing " +"'gcl27'. You can locally override this choice by setting the GCL_ANSI " +"environment variable to any string but \"no\" for the ANSI build, and to " +"\"no\" for the CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build " +"in force will be reported in the initial startup banner." +msgstr "" +"GCL está en proceso de incorporar una imagen compatible con ANSI además de " +"la imagen CLtL1 tradicional que todavía se usa en producción. Consulte el " +"archivo README de Debian para una breve descripción acerca de estos " +"términos. El ajuste de esta variable determinará qué imagen se utilizará de " +"manera predeterminada cuando ejecute «gcl27». Puede anular esta elección " +"localmente definiendo la variable de entorno GCL_ANSI a cualquier cadena de " +"caracteres excepto «no» para la compilación ANSI, y establecerla a «no» para " +"la compilación CLtL1, p. ej. GCL_ANSI=t gcl27. La versión de la compilación " +"se indicará en el anuncio inicial de arranque." + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "Use the profiling build by default?" +msgstr "¿Quiere utilizar la generación con perfilado de manera predeterminada?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "" +"GCL now has optional support for profiling via gprof. Please see the " +"documentation for si::gprof-start and si::gprof-quit for details. As this " +"build is slower than builds without gprof support, it is not recommended for " +"final production use. You can locally override the default choice made here " +"by setting the GCL_PROF environment variable to any non-empty string for " +"profiling support, and to the empty string for the more optimized builds, " +"e.g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in " +"the initial startup banner." +msgstr "" +"GCL ahora dispone de soporte opcional para perfilado a través de gprof. " +"Consulte la documentación de «si::gprof-start» y de «si::gprof-quit» y " +"«si::gprof-quit» para más detalles. Dado que esta compilación es más lenta " +"que otras sin soporte para gprof, no se recomienda usarlo en producción. " +"Puede anular esta elección de forma local definiendo la variable de entorno " +"GCL_PROF a cualquier cadena de caracteres no vacía para activar el soporte " +"de perfilado y a una cadena de caracteres vacía para generar paquetes más " +"optimizados, p. ej., GCL_PROF=t gcl27. Si el perfilado está activo, se " +"indicará en el anuncio inicial de arranque." + +#~ msgid "" +#~ "GCL is in the process of providing an ANSI compliant image in addition to " +#~ "its traditional CLtL1 image still in production use." +#~ msgstr "" +#~ "GL está en el proceso de proporcionar una imagen ANSI, además de su " +#~ "imagen CLtL1 tradicional que todavía se usa." + +#~ msgid "" +#~ "Please see the README.Debian file for a brief description of these terms. " +#~ "Choosing this option will determine which image will be used by default " +#~ "when executing 'gcl@EXT@'." +#~ msgstr "" +#~ "Por favor, véase el archivo README.Debian para una descripción corta de " +#~ "estos términos. Eligiendo esta opción determinará que imagen se usará de " +#~ "manera predeterminada al ejecutar «gcl@EXT@»." + +#~ msgid "" +#~ "This setting may be overridden by setting the GCL_ANSI environment " +#~ "variable to any non-empty string for the ANSI build, and to the empty " +#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently " +#~ "enforced build flavor will be reported in the initial startup banner." +#~ msgstr "" +#~ "Esta configuración se puede sobrescribir cambiando la variable de entorno " +#~ "GCL_ANSI a cualquier cadena de caracteres no vacía para la generación " +#~ "ANSI, y a una cadena de caracteres vacía para la generación CLtL1, por " +#~ "ejemplo: «GCL_ANSI=t gcl@EXT@». El actual tipo de generación se mostrará " +#~ "en la información inicial del arranque." + +#~ msgid "GCL has optional support for profiling via gprof." +#~ msgstr "GCL permite usar «profiling», de manera opcional, mediante gprof." + +#~ msgid "" +#~ "Please see the documentation for si::gprof-start and si::gprof-quit for " +#~ "details. As this build is slower than builds without gprof support, it is " +#~ "not recommended for final production use." +#~ msgstr "" +#~ "Por favor, véase la documentación para los detalles de «si::gprof-start» " +#~ "y «si::gprof-quit». Ya que esta generación es más lenta que sin el uso de " +#~ "gprof, no se recomienda para su uso final." + +#~ msgid "" +#~ "Set the GCL_PROF environment variable to the empty string for more " +#~ "optimized builds, or any non-empty string for profiling support; e.g. " +#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in " +#~ "the initial startup banner." +#~ msgstr "" +#~ "Cambie el valor de la variable de entorno GCL_PROF a una cadena de " +#~ "caracteres vacía para generación más optimizadas, o a una cadena de " +#~ "caracteres no vacía para usar el «profiling», por ejemplo: «GCL_PROF=t " +#~ "gcl@EXT@». Si el «profiling» está activado, se mostrará en la información " +#~ "inicial del arranque." + +#~ msgid "" +#~ "GCL is one of the oldest free common lisp systems still in use. Several " +#~ "production systems have used it for over a decade. The common lisp " +#~ "standard in effect when GCL was first released is known as \"Common Lisp, " +#~ "the Language\" (CLtL1) after a book by Steele of the same name providing " +#~ "this specification. Subsequently, a much expanded standard was adopted " +#~ "by the American National Standards Institute (ANSI), which is still " +#~ "considered the definitive common lisp language specification to this " +#~ "day. GCL is in the process of providing an ANSI compliant image in " +#~ "addition to its traditional CLtL1 image still in production use. Setting " +#~ "this variable will determine which image you will use by default on " +#~ "executing 'gcl'. You can locally override this choice by setting the " +#~ "GCL_ANSI environment variable to any non-empty string for the ANSI build, " +#~ "and to the empty string for the CLtL1 build, e.g. GCL_ANSI=t gcl. You " +#~ "may be interested in reviewing the ANSI test results sketching the level " +#~ "of compliance achieved thus far in /usr/share/doc/gcl/test_results.gz. " +#~ "The flavor of the build in force will be reported in the initial startup " +#~ "banner." +#~ msgstr "" +#~ "GCL es uno de los sistemas libres de «common lisp» más antiguos que " +#~ "todavía se usan. Varios sistemas en producción han estado usándolo " +#~ "durante más de una década. Cuando GCL se liberó por primera vez, el " +#~ "estándar «common lisp» se conocía como «Common Lisp, the Language» " +#~ "(CLtL1) después de un libro escrito por Steele que llevaba el mismo " +#~ "nombre y que proporcionaba esta especificación. Posteriormente se adoptó " +#~ "en el Instituto Nacional de Estándares Americano (ANSI) un estándar más " +#~ "extendido, que todavía se considera la especificación definitiva del " +#~ "lenguaje «common lisp» hasta hoy. GCL está en el proceso de proporcionar " +#~ "una imagen conforme a ANSI además de su imagen CltL1 tradicional que " +#~ "todavía se usa en producción. Al establecer esta variable se determinará " +#~ "la imagen por omisión que usará al ejecutar «gcl». Puede anular esta " +#~ "elección de forma local mediante el establecimiento de la variable de " +#~ "entorno GCL_ANSI a cualquier cadena no vacía para el paquete ANSI, y a la " +#~ "cadena vacía para el paquete CLtL1, i.e. GCL_ANSI=t gcl. Quizás esté " +#~ "interesado en revisar los resultados de las pruebas ANSI describiendo el " +#~ "nivel de conformidad logrado hasta ahora en /usr/share/doc/gcl/" +#~ "test_results.gz. Se informará del tipo de paquete usado en el anuncio " +#~ "inicial de arranque." diff --git a/po/fi.po b/po/fi.po new file mode 100644 index 0000000..4eac1a7 --- /dev/null +++ b/po/fi.po @@ -0,0 +1,105 @@ +msgid "" +msgstr "" +"Project-Id-Version: gcl\n" +"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n" +"POT-Creation-Date: 2025-06-01 09:56-0400\n" +"PO-Revision-Date: 2007-12-29 23:28+0200\n" +"Last-Translator: Esko Arajärvi \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Language: Finnish\n" +"X-Poedit-Country: Finland\n" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "Use the work-in-progress ANSI build by default?" +msgstr "Käytetäänkö kehitettävää ANSI-käännöstä oletuksena?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "" +"GCL is in the process of providing an ANSI compliant image in addition to " +"its traditional CLtL1 image still in production use. Please see the README." +"Debian file for a brief description of these terms. Setting this variable " +"will determine which image you will use by default on executing 'gcl27'. " +"You can locally override this choice by setting the GCL_ANSI environment " +"variable to any string but \"no\" for the ANSI build, and to \"no\" for the " +"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will " +"be reported in the initial startup banner." +msgstr "" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "Use the profiling build by default?" +msgstr "Käytetäänkö profilointia oletuksena?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "" +"GCL now has optional support for profiling via gprof. Please see the " +"documentation for si::gprof-start and si::gprof-quit for details. As this " +"build is slower than builds without gprof support, it is not recommended for " +"final production use. You can locally override the default choice made here " +"by setting the GCL_PROF environment variable to any non-empty string for " +"profiling support, and to the empty string for the more optimized builds, e." +"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the " +"initial startup banner." +msgstr "" + +#~ msgid "" +#~ "GCL is in the process of providing an ANSI compliant image in addition to " +#~ "its traditional CLtL1 image still in production use." +#~ msgstr "" +#~ "GCL:n on tarkoitus tarjota ANSI-yhteensopiva kuva perinteisen, vielä " +#~ "tuotantokäytössä olevan CLtL1-kuvan lisäksi." + +#~ msgid "" +#~ "Please see the README.Debian file for a brief description of these terms. " +#~ "Choosing this option will determine which image will be used by default " +#~ "when executing 'gcl@EXT@'." +#~ msgstr "" +#~ "Tiedostosta README.Debian löytyy (englanniksi) näiden termien lyhyet " +#~ "kuvaukset. Tämä valinta vaikuttaa siihen mitä kuvaa käytetään oletuksena " +#~ "ajettaessa ”gcl@EXT@”." + +#~ msgid "" +#~ "This setting may be overridden by setting the GCL_ANSI environment " +#~ "variable to any non-empty string for the ANSI build, and to the empty " +#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently " +#~ "enforced build flavor will be reported in the initial startup banner." +#~ msgstr "" +#~ "Tämä asetus voidaan ohittaa asettamalla GCL_ANSI-ympäristömuuttuja. Jos " +#~ "muuttujan arvo on mikä tahansa ei-tyhjä merkkijono, käytetään ANSI-" +#~ "käännöstä, ja jos muuttujan arvo on tyhjä merkkijono, käytetään CLtL1-" +#~ "käännöstä. Esimerkiksi: GCL_ANSI=t gcl@EXT@. Käytetty pakotettu " +#~ "käännöstapa raportoidaan käynnistysruudussa." + +#~ msgid "GCL has optional support for profiling via gprof." +#~ msgstr "GCL tukee valinnaisesti profilointia gprofin avulla." + +#~ msgid "" +#~ "Please see the documentation for si::gprof-start and si::gprof-quit for " +#~ "details. As this build is slower than builds without gprof support, it is " +#~ "not recommended for final production use." +#~ msgstr "" +#~ "Katso yksityiskohdat (englanniksi) dokumentaatiosta kohdista si::gprof-" +#~ "start ja si::gprof-quit. Koska tämä käännös on hitaampi kuin käännökset " +#~ "ilman gprof-tukea, tätä ei suositella tuotantokäyttöön." + +#~ msgid "" +#~ "Set the GCL_PROF environment variable to the empty string for more " +#~ "optimized builds, or any non-empty string for profiling support; e.g. " +#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in " +#~ "the initial startup banner." +#~ msgstr "" +#~ "Aseta GCL_PROF-ympäristömuuttuja tyhjäksi merkkijonoksi käyttääksesi " +#~ "optimoidumpia käännöksiä ja miksi tahansa ei-tyhjäksi merkkijonoksi " +#~ "käyttääksesi profilointia. Esimerkiksi: GCL_PROF=t gcl@EXT@. Jos " +#~ "profilointi on aktivoituna, se raportoidaan käynnistysruudussa." diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 0000000..b6f8b1e --- /dev/null +++ b/po/fr.po @@ -0,0 +1,148 @@ +# Translation of gcl debconf templates to French +# Copyright (C) 2007 Sylvain Archenault +# Copyright (C) 2024 Camm Maguire +# This file is distributed under the same license as the iodine package. +# +# Sylvain Archenault , 2007. +msgid "" +msgstr "" +"Project-Id-Version: gcl 2.6.7-1\n" +"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n" +"POT-Creation-Date: 2025-06-01 09:56-0400\n" +"PO-Revision-Date: 2007-12-23 13:03+0100\n" +"Last-Translator: Sylvain Archenault \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-15\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "Use the work-in-progress ANSI build by default?" +msgstr "Faut-il utiliser la compilation ANSI par dfaut?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +#, fuzzy +#| msgid "" +#| "GCL is in the process of providing an ANSI compliant image in addition to " +#| "its traditional CLtL1 image still in production use. Please see the " +#| "README.Debian file for a brief description of these terms. Setting this " +#| "variable will determine which image you will use by default on executing " +#| "'gcl@EXT@'. You can locally override this choice by setting the GCL_ANSI " +#| "environment variable to any non-empty string for the ANSI build, and to " +#| "the empty string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The " +#| "flavor of the build in force will be reported in the initial startup " +#| "banner." +msgid "" +"GCL is in the process of providing an ANSI compliant image in addition to " +"its traditional CLtL1 image still in production use. Please see the README." +"Debian file for a brief description of these terms. Setting this variable " +"will determine which image you will use by default on executing 'gcl27'. " +"You can locally override this choice by setting the GCL_ANSI environment " +"variable to any string but \"no\" for the ANSI build, and to \"no\" for the " +"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will " +"be reported in the initial startup banner." +msgstr "" +"GCL a pour but de fournir une image conforme la dfinition de l'ANSI en plus " +"de son image traditionnelle CLtL1 qui est toujours utilise en production. " +"Veuillez consulter le fichier README.Debian pour plus d'informations sur ces " +"normes. Ce choix dterminera quelle norme vous allez utiliser par dfaut lors " +"de l'excution de gcl@EXT@. Vous pouvez localement modifier ce choix en " +"affectant une chane non vide la variable d'environnement GCL_ANSI pour une " +"compilation respectant la norme dfinie par l'ANSI, et une chane vide pour " +"une compilation en accord avec la norme CLtL1, par exemple GCL_ANSI=t " +"gcl@EXT@. Le type de compilation sera affich dans le bandeau de dmarrage." + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "Use the profiling build by default?" +msgstr "Faut-il utiliser le profilage par dfaut?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +#, fuzzy +#| msgid "" +#| "GCL now has optional support for profiling via gprof. Please see the " +#| "documentation for si::gprof-start and si::gprof-quit for details. As this " +#| "build is slower than builds without gprof support, it is not recommended " +#| "for final production use. You can locally override the default choice " +#| "made here by setting the GCL_PROF environment variable to any non-empty " +#| "string for profiling support, and to the empty string for the more " +#| "optimized builds, e.g. GCL_PROF=t gcl@EXT@. If profiling is enabled, " +#| "this will be reported in the initial startup banner." +msgid "" +"GCL now has optional support for profiling via gprof. Please see the " +"documentation for si::gprof-start and si::gprof-quit for details. As this " +"build is slower than builds without gprof support, it is not recommended for " +"final production use. You can locally override the default choice made here " +"by setting the GCL_PROF environment variable to any non-empty string for " +"profiling support, and to the empty string for the more optimized builds, e." +"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the " +"initial startup banner." +msgstr "" +"GCL gre dsormais le profilage via gprof. Veuillez consulter la documentation " +"de si::gprof-start et de si::gprof-quit pour plus d'informations. La " +"construction produite avec cette option est plus lente que la construction " +"classique. Par consquent il n'est pas recommand de l'utiliser en production. " +"Vous pouvez localement modifier ce choix en affectant la variable " +"d'environnement GCL_PROF, une chane non vide pour activer le profilage, ou " +"une chane vide pour une compilation optimise, par exemple GCL_PROF=t " +"gcl@EXT@. Si le profilage est activ, cela sera affich dans le bandeau de " +"dmarrage." + +#~ msgid "" +#~ "GCL is in the process of providing an ANSI compliant image in addition to " +#~ "its traditional CLtL1 image still in production use." +#~ msgstr "" +#~ "GCL est en passe de fournir une image respectant la norme ANSI en plus de " +#~ "l'image traditionnelle CLtL1, toujours utilise en production." + +#~ msgid "" +#~ "Please see the README.Debian file for a brief description of these terms. " +#~ "Choosing this option will determine which image will be used by default " +#~ "when executing 'gcl@EXT@'." +#~ msgstr "" +#~ "Veuillez lire le fichier README.Debian pour une brve description de ces " +#~ "termes. Le choix de cette option dterminera quelle image sera utilise par " +#~ "dfaut en excutant gcl@EXT@." + +#~ msgid "" +#~ "This setting may be overridden by setting the GCL_ANSI environment " +#~ "variable to any non-empty string for the ANSI build, and to the empty " +#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently " +#~ "enforced build flavor will be reported in the initial startup banner." +#~ msgstr "" +#~ "Ce rglage peut tre chang en affectant la variable d'environnement " +#~ "GCL_ANSI une chane non vide pour la compilation ANSI, et une chane vide " +#~ "pour la compilation CLtL1, par exemple GCL_ANSI=t gcl@EXT@. Le type de " +#~ "compilation sera affich dans le bandeau de dmarrage." + +#~ msgid "GCL has optional support for profiling via gprof." +#~ msgstr "GCL permet optionnellement la gestion du profilage via gprof." + +#~ msgid "" +#~ "Please see the documentation for si::gprof-start and si::gprof-quit for " +#~ "details. As this build is slower than builds without gprof support, it is " +#~ "not recommended for final production use." +#~ msgstr "" +#~ "Veuillez vous reporter la documentation de si::gprof-start et si::gprof-" +#~ "quit pour plus de dtails. Comme cet excutable est plus lent que les " +#~ "excutables sans la gestion de gprof, il n'est pas recommand de l'utiliser " +#~ "en production." + +#~ msgid "" +#~ "Set the GCL_PROF environment variable to the empty string for more " +#~ "optimized builds, or any non-empty string for profiling support; e.g. " +#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in " +#~ "the initial startup banner." +#~ msgstr "" +#~ "Veuillez affecter une chane vide la variable d'environnement GCL_PROF " +#~ "pour des compilations optimises, ou une chane non vide pour avoir la " +#~ "gestion du profilage; par exemple GCL_PROF=t gcl@EXT@. Si le profilage " +#~ "est activ, cela sera affich dans le bandeau de dmarrage." diff --git a/po/gl.po b/po/gl.po new file mode 100644 index 0000000..afcf35c --- /dev/null +++ b/po/gl.po @@ -0,0 +1,147 @@ +# Galician translation of gclcvs's debconf templates +# This file is distributed under the same license as the gclcvs package. +# Jacobo Tarrio , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: gclcvs\n" +"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n" +"POT-Creation-Date: 2025-06-01 09:56-0400\n" +"PO-Revision-Date: 2008-01-01 13:38+0000\n" +"Last-Translator: Jacobo Tarrio \n" +"Language-Team: Galician \n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "Use the work-in-progress ANSI build by default?" +msgstr "¿Empregar por defecto a versión ANSI que se está a facer?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +#, fuzzy +#| msgid "" +#| "GCL is in the process of providing an ANSI compliant image in addition to " +#| "its traditional CLtL1 image still in production use. Please see the " +#| "README.Debian file for a brief description of these terms. Setting this " +#| "variable will determine which image you will use by default on executing " +#| "'gcl@EXT@'. You can locally override this choice by setting the GCL_ANSI " +#| "environment variable to any non-empty string for the ANSI build, and to " +#| "the empty string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The " +#| "flavor of the build in force will be reported in the initial startup " +#| "banner." +msgid "" +"GCL is in the process of providing an ANSI compliant image in addition to " +"its traditional CLtL1 image still in production use. Please see the README." +"Debian file for a brief description of these terms. Setting this variable " +"will determine which image you will use by default on executing 'gcl27'. " +"You can locally override this choice by setting the GCL_ANSI environment " +"variable to any string but \"no\" for the ANSI build, and to \"no\" for the " +"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will " +"be reported in the initial startup banner." +msgstr "" +"Estase a traballar para que GCL forneza unha imaxe ANSI ademáis da imaxe " +"CLtL1 que aínda se emprega en produción. Consulte o ficheiro README.Debian " +"para ver unha descrición breve deses termos. Ao estabrecer esa variable ha " +"determinar a imaxe que ha empregar por defecto ao executar \"gcl@EXT@\". " +"Pode empregar a outra imaxe estabrecendo a variable de ambiente GCL_ANSI a " +"calquera cadea non baleira para empregar a versión ANSI, e á cadea baleira " +"para empregar a versión CLtL1; por exemplo, GCL_ANSI=t gcl@EXT@. Hase " +"informar da versión en uso no cartel que aparece ao iniciar o programa." + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "Use the profiling build by default?" +msgstr "¿Empregar por defecto a versión con cronometrado?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +#, fuzzy +#| msgid "" +#| "GCL now has optional support for profiling via gprof. Please see the " +#| "documentation for si::gprof-start and si::gprof-quit for details. As this " +#| "build is slower than builds without gprof support, it is not recommended " +#| "for final production use. You can locally override the default choice " +#| "made here by setting the GCL_PROF environment variable to any non-empty " +#| "string for profiling support, and to the empty string for the more " +#| "optimized builds, e.g. GCL_PROF=t gcl@EXT@. If profiling is enabled, " +#| "this will be reported in the initial startup banner." +msgid "" +"GCL now has optional support for profiling via gprof. Please see the " +"documentation for si::gprof-start and si::gprof-quit for details. As this " +"build is slower than builds without gprof support, it is not recommended for " +"final production use. You can locally override the default choice made here " +"by setting the GCL_PROF environment variable to any non-empty string for " +"profiling support, and to the empty string for the more optimized builds, e." +"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the " +"initial startup banner." +msgstr "" +"GCL agora ten soporte opcional de cronometrado mediante gprof. Consulte a " +"documentación de si::gprof-start e si::gprof-quit para máis detalles. Xa que " +"esta versión é máis lenta que as que non teñen soporte de gprof, non se " +"recomenda que a empregue para o uso en produción. Pode empregar unha versión " +"distinta á seleccionada estabrecendo a variable de ambiente GCL_PROF a " +"calquera cadea non baleira para empregar o soporte de cronometrado, ou á " +"cadea baleira para as versións máis optimizadas; por exemplo, GCL_PROF=t " +"gcl@EXT@. Se está activado o cronometrado, hase informar diso no cartel que " +"aparece ao iniciar o programa." + +#~ msgid "" +#~ "GCL is in the process of providing an ANSI compliant image in addition to " +#~ "its traditional CLtL1 image still in production use." +#~ msgstr "" +#~ "Estase a traballar para que GCL forneza unha imaxe ANSI ademáis da imaxe " +#~ "CLtL1 que aínda se emprega en produción." + +#~ msgid "" +#~ "Please see the README.Debian file for a brief description of these terms. " +#~ "Choosing this option will determine which image will be used by default " +#~ "when executing 'gcl@EXT@'." +#~ msgstr "" +#~ "Consulte o ficheiro README.Debian para ver unha descrición breve deses " +#~ "termos. Ao establecer esa variable ha determinar a imaxe que ha empregar " +#~ "por defecto ao executar \"gcl@EXT@\"." + +#~ msgid "" +#~ "This setting may be overridden by setting the GCL_ANSI environment " +#~ "variable to any non-empty string for the ANSI build, and to the empty " +#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently " +#~ "enforced build flavor will be reported in the initial startup banner." +#~ msgstr "" +#~ "Pode empregar a outra imaxe establecendo a variable de ambiente GCL_ANSI " +#~ "a calquera cadea non baleira para empregar a versión ANSI, e á cadea " +#~ "baleira para empregar a versión CLtL1; por exemplo, GCL_ANSI=t gcl@EXT@. " +#~ "Hase informar da versión en uso no cartel que aparece ao iniciar o " +#~ "programa." + +#~ msgid "GCL has optional support for profiling via gprof." +#~ msgstr "GCL agora ten soporte opcional de cronometrado mediante gprof." + +#~ msgid "" +#~ "Please see the documentation for si::gprof-start and si::gprof-quit for " +#~ "details. As this build is slower than builds without gprof support, it is " +#~ "not recommended for final production use." +#~ msgstr "" +#~ "Consulte a documentación de si::gprof-start e si::gprof-quit para máis " +#~ "detalles. Xa que esta versión é máis lenta que as que non teñen soporte " +#~ "de gprof, non se recomenda que a empregue para o uso en produción." + +#~ msgid "" +#~ "Set the GCL_PROF environment variable to the empty string for more " +#~ "optimized builds, or any non-empty string for profiling support; e.g. " +#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in " +#~ "the initial startup banner." +#~ msgstr "" +#~ "Pode empregar unha versión distinta á seleccionada establecendo a " +#~ "variable de ambiente GCL_PROF a calquera cadea non baleira para empregar " +#~ "o soporte de cronometrado, ou á cadea baleira para as versións máis " +#~ "optimizadas; por exemplo, GCL_PROF=t gcl@EXT@. Se está activado o " +#~ "cronometrado, hase informar diso no cartel que aparece ao iniciar o " +#~ "programa." diff --git a/po/in.POTFILES.in b/po/in.POTFILES.in new file mode 100644 index 0000000..f8a5ae1 --- /dev/null +++ b/po/in.POTFILES.in @@ -0,0 +1 @@ +[type: gettext/rfc822deb] gcl@EXT@.templates diff --git a/po/it.po b/po/it.po new file mode 100644 index 0000000..0f99efa --- /dev/null +++ b/po/it.po @@ -0,0 +1,112 @@ +# ITALIAN TRANSLATION OF GCL'S PO-DEBCONF FILE. +# COPYRIGHT (C) 2009 THE GCL'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gcl package. +# +# Vincenzo Campanella , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: gcl\n" +"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n" +"POT-Creation-Date: 2025-06-01 09:56-0400\n" +"PO-Revision-Date: 2009-11-29 08:39+0100\n" +"Last-Translator: Vincenzo Campanella \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "Use the work-in-progress ANSI build by default?" +msgstr "" +"Usare in modo predefinito la compilazione ANSI, che è in fase di " +"approntamento?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "" +"GCL is in the process of providing an ANSI compliant image in addition to " +"its traditional CLtL1 image still in production use. Please see the README." +"Debian file for a brief description of these terms. Setting this variable " +"will determine which image you will use by default on executing 'gcl27'. " +"You can locally override this choice by setting the GCL_ANSI environment " +"variable to any string but \"no\" for the ANSI build, and to \"no\" for the " +"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will " +"be reported in the initial startup banner." +msgstr "" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "Use the profiling build by default?" +msgstr "Usare il profiling in modo predefinito?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "" +"GCL now has optional support for profiling via gprof. Please see the " +"documentation for si::gprof-start and si::gprof-quit for details. As this " +"build is slower than builds without gprof support, it is not recommended for " +"final production use. You can locally override the default choice made here " +"by setting the GCL_PROF environment variable to any non-empty string for " +"profiling support, and to the empty string for the more optimized builds, e." +"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the " +"initial startup banner." +msgstr "" + +#~ msgid "" +#~ "GCL is in the process of providing an ANSI compliant image in addition to " +#~ "its traditional CLtL1 image still in production use." +#~ msgstr "" +#~ "Accanto all'immagine tradizionale CLtL1, in uso in realtà produttive, GCL " +#~ "sta preparando un'immagine conforme ad ANSI." + +#~ msgid "" +#~ "Please see the README.Debian file for a brief description of these terms. " +#~ "Choosing this option will determine which image will be used by default " +#~ "when executing 'gcl@EXT@'." +#~ msgstr "" +#~ "Per maggiori informazioni consultare il file «README.Debian». La scelta " +#~ "di questa opzione determinerà quale immagine verrà utilizzata in modo " +#~ "predefinito durante l'esecuzione di «gcl@EXT@»." + +#~ msgid "" +#~ "This setting may be overridden by setting the GCL_ANSI environment " +#~ "variable to any non-empty string for the ANSI build, and to the empty " +#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently " +#~ "enforced build flavor will be reported in the initial startup banner." +#~ msgstr "" +#~ "Questa impostazione può essere sovrascritta impostando la variabile " +#~ "d'ambiente «GCL_ANSI» con una stringa non vuota per la compilazione ANSI " +#~ "e con una stringa vuota per la compilazione CLtL1, per esempio: " +#~ "«GCL_ANSI=t gcl@EXT@». Il tipo di compilazione attualmente in uso viene " +#~ "mostrato nella schermata di avvio." + +#~ msgid "GCL has optional support for profiling via gprof." +#~ msgstr "GCL possiede un supporto opzionale per il profiling tramite gprof." + +#~ msgid "" +#~ "Please see the documentation for si::gprof-start and si::gprof-quit for " +#~ "details. As this build is slower than builds without gprof support, it is " +#~ "not recommended for final production use." +#~ msgstr "" +#~ "Per maggiori dettagli consultare la documentazione per «si::gprof-start» " +#~ "e «si::gprof-quit». Poiché questa compilazione è più lenta, rispetto a " +#~ "quella senza supporto per gprof, non è raccomandata per un utilizzo in " +#~ "realtà produttive." + +#~ msgid "" +#~ "Set the GCL_PROF environment variable to the empty string for more " +#~ "optimized builds, or any non-empty string for profiling support; e.g. " +#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in " +#~ "the initial startup banner." +#~ msgstr "" +#~ "Per compilazioni ottimizzate impostare la variabile d'ambiente «GCL_PROF» " +#~ "a una stringa vuota, oppure per impostare il supporto al profiling " +#~ "impostarla a una stringa non vuota, per esempio «GCL_PROF=t gcl@EXT@». La " +#~ "schermata d'avvio indicherà se il profiling è abilitato." diff --git a/po/ja.po b/po/ja.po new file mode 100644 index 0000000..5834194 --- /dev/null +++ b/po/ja.po @@ -0,0 +1,107 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gcl package. +# victory , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: gcl\n" +"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n" +"POT-Creation-Date: 2025-06-01 09:56-0400\n" +"PO-Revision-Date: 2013-07-27 23:28+0900\n" +"Last-Translator: victory \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "Use the work-in-progress ANSI build by default?" +msgstr "未完成の ANSI ビルドをデフォルトで使用しますか?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "" +"GCL is in the process of providing an ANSI compliant image in addition to " +"its traditional CLtL1 image still in production use. Please see the README." +"Debian file for a brief description of these terms. Setting this variable " +"will determine which image you will use by default on executing 'gcl27'. " +"You can locally override this choice by setting the GCL_ANSI environment " +"variable to any string but \"no\" for the ANSI build, and to \"no\" for the " +"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will " +"be reported in the initial startup banner." +msgstr "" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "Use the profiling build by default?" +msgstr "デフォルトで profiling ビルドを使いますか?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "" +"GCL now has optional support for profiling via gprof. Please see the " +"documentation for si::gprof-start and si::gprof-quit for details. As this " +"build is slower than builds without gprof support, it is not recommended for " +"final production use. You can locally override the default choice made here " +"by setting the GCL_PROF environment variable to any non-empty string for " +"profiling support, and to the empty string for the more optimized builds, e." +"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the " +"initial startup banner." +msgstr "" + +#~ msgid "" +#~ "GCL is in the process of providing an ANSI compliant image in addition to " +#~ "its traditional CLtL1 image still in production use." +#~ msgstr "" +#~ "GCL は未だに生産利用されている従来の CLtL1 イメージに加えて ANSI 準拠のイ" +#~ "メージを提供する過程にあります。" + +#~ msgid "" +#~ "Please see the README.Debian file for a brief description of these terms. " +#~ "Choosing this option will determine which image will be used by default " +#~ "when executing 'gcl@EXT@'." +#~ msgstr "" +#~ "用語については README.Debian ファイルに簡単な説明があります。このオプショ" +#~ "ンの選択「gcl@EXT@」を実行するときにどのイメージをデフォルトで利用するのか" +#~ "決定することになります。" + +#~ msgid "" +#~ "This setting may be overridden by setting the GCL_ANSI environment " +#~ "variable to any non-empty string for the ANSI build, and to the empty " +#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently " +#~ "enforced build flavor will be reported in the initial startup banner." +#~ msgstr "" +#~ "この設定は、GCL_ANSI 環境変数に ANSI ビルドでは空白ではない任意の文字列、" +#~ "CLtL1 ビルドでは空白文字列をセットすることで上書きできます。例えば " +#~ "GCL_ANSI=t gcl@EXT@。現在実行しているビルドの種類は初期の開始時バナーで報" +#~ "告されます。" + +#~ msgid "GCL has optional support for profiling via gprof." +#~ msgstr "GCL にはオプションで gprof 経由の profiling サポートがあります。" + +#~ msgid "" +#~ "Please see the documentation for si::gprof-start and si::gprof-quit for " +#~ "details. As this build is slower than builds without gprof support, it is " +#~ "not recommended for final production use." +#~ msgstr "" +#~ "詳細については si::gprof-start や si::gprof-quit の文書を見てください。こ" +#~ "のビルドは gprof サポートのないビルドより遅いため、最終的な生産利用にはお" +#~ "勧めしません。" + +#~ msgid "" +#~ "Set the GCL_PROF environment variable to the empty string for more " +#~ "optimized builds, or any non-empty string for profiling support; e.g. " +#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in " +#~ "the initial startup banner." +#~ msgstr "" +#~ "ビルドをもっと最適化する場合は GCL_PROF 環境変数に空白文字列を、profiling " +#~ "をサポートさせる場合は空白ではない任意の文字列をセットしてください。例え" +#~ "ば GCL_PROF=t gcl@EXT@。profiling が有効な場合、初期の開始時バナーで報告さ" +#~ "れます。" diff --git a/po/nl.po b/po/nl.po new file mode 100644 index 0000000..324ec90 --- /dev/null +++ b/po/nl.po @@ -0,0 +1,80 @@ +# Dutch translation of gcl27 debconf templates. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# Copyright (C) 2024 Camm Maguire +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# Frans Spiesschaert , 2025. +# +msgid "" +msgstr "" +"Project-Id-Version: gcl27_2.7.1-4\n" +"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n" +"POT-Creation-Date: 2025-06-01 09:56-0400\n" +"PO-Revision-Date: 2025-05-12 23:27+0200\n" +"Last-Translator: Frans Spiesschaert \n" +"Language-Team: debian-l10n-dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.2.2\n" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "Use the work-in-progress ANSI build by default?" +msgstr "Wilt u standaard de in-ontwikkeling-zijnde ansi-compilatie gebruiken?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "" +"GCL is in the process of providing an ANSI compliant image in addition to " +"its traditional CLtL1 image still in production use. Please see the README." +"Debian file for a brief description of these terms. Setting this variable " +"will determine which image you will use by default on executing 'gcl27'. " +"You can locally override this choice by setting the GCL_ANSI environment " +"variable to any string but \"no\" for the ANSI build, and to \"no\" for the " +"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will " +"be reported in the initial startup banner." +msgstr "" +"GCL is bezig met het aanbieden van een ANSI-conform image naast zijn " +"traditioneel CLtL1-image dat nog steeds in een productieomgeving wordt " +"gebruikt. Raadpleeg het bestand README.Debian voor een korte beschrijving " +"van deze termen. Door deze variabele in te stellen, bepaalt u welk image u " +"standaard gebruikt bij het uitvoeren van 'gcl27'. U kunt deze keuze lokaal " +"overschrijven door de omgevingsvariabele GCL_ANSI in te stellen op een " +"willekeurige tekenreeks, behalve op 'no' voor de ANSI-compilatie en op 'no' " +"voor de CLtL1-compilatie, bijvoorbeeld GCL_ANSI=t gcl27. Welke de van kracht " +"zijnde compilatievorm is, zal worden gerapporteerd in de initiële " +"opstartbanner." + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "Use the profiling build by default?" +msgstr "" +"Wilt u standaard een compilatie met ondersteuning voor profilering gebruiken?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "" +"GCL now has optional support for profiling via gprof. Please see the " +"documentation for si::gprof-start and si::gprof-quit for details. As this " +"build is slower than builds without gprof support, it is not recommended for " +"final production use. You can locally override the default choice made here " +"by setting the GCL_PROF environment variable to any non-empty string for " +"profiling support, and to the empty string for the more optimized builds, e." +"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the " +"initial startup banner." +msgstr "" +"GCL biedt nu optionele ondersteuning voor profilering via gprof. Raadpleeg " +"de documentatie bij si::gprof-start en si::gprof-quit voor meer informatie. " +"Omdat deze compilatie trager is dan een compilatie zonder gprof-" +"ondersteuning, wordt deze niet aanbevolen voor het uiteindelijke gebruik in " +"een productieomgeving. U kunt de hier gemaakte standaardkeuze lokaal " +"overschrijven door de omgevingsvariabele GCL_PROF in te stellen op een niet-" +"lege tekenreeks voor profileringsondersteuning, en op de lege tekenreeks " +"voor de meer geoptimaliseerde compilatie, bijvoorbeeld GCL_PROF=t gcl27. Als " +"profilering is ingeschakeld, wordt dit vermeld in de initiële opstartbanner." diff --git a/po/pt.po b/po/pt.po new file mode 100644 index 0000000..95dbdab --- /dev/null +++ b/po/pt.po @@ -0,0 +1,129 @@ +# translation of gcl debconf to European Portuguese +# Copyright (C) 2024 Camm Maguire +# This file is distributed under the same license as the gcl package. +# +# Américo Monteiro , 2007 - 2025. +msgid "" +msgstr "" +"Project-Id-Version: gcl 2.7.1-4\n" +"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n" +"POT-Creation-Date: 2025-06-01 09:56-0400\n" +"PO-Revision-Date: 2025-05-07 21:40+0100\n" +"Last-Translator: Américo Monteiro \n" +"Language-Team: Portuguese <>\n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 22.12.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "Use the work-in-progress ANSI build by default?" +msgstr "Usar a compilação ainda-em-desenvolvimento ANSI por predefinição?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "" +"GCL is in the process of providing an ANSI compliant image in addition to " +"its traditional CLtL1 image still in production use. Please see the README." +"Debian file for a brief description of these terms. Setting this variable " +"will determine which image you will use by default on executing 'gcl27'. " +"You can locally override this choice by setting the GCL_ANSI environment " +"variable to any string but \"no\" for the ANSI build, and to \"no\" for the " +"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will " +"be reported in the initial startup banner." +msgstr "" +"GCL está no processo de disponibilizar uma imagem compatível com ANSI " +"adicionalmente à sua imagem tradicional CLtL1 ainda em utilização de " +"produção. Por favor veja o ficheiro README.Debian para uma breve descrição " +"destes termos. Definir esta variável irá determinar qual imagem você irá " +"usar por predefinição ao executar o 'gcl27'. Você pode sobrepor localmente " +"esta opção ao regular a variável de ambiente GCL_ANSI para qualquer string " +"diferente de \"no\" para a compilação ANSI, e para \"no\" para a compilação " +"CLtL1, ex. GCL_ANSI=t gcl27. O tipo de compilação imposto será reportado no " +"banner inicial de arranque." + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "Use the profiling build by default?" +msgstr "Usar a compilação com perfis (profiling) como predefinição?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "" +"GCL now has optional support for profiling via gprof. Please see the " +"documentation for si::gprof-start and si::gprof-quit for details. As this " +"build is slower than builds without gprof support, it is not recommended for " +"final production use. You can locally override the default choice made here " +"by setting the GCL_PROF environment variable to any non-empty string for " +"profiling support, and to the empty string for the more optimized builds, e." +"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the " +"initial startup banner." +msgstr "" +"O GCL agora tem suporte opcional para perfis via gprof. Por favor veja a " +"documentação para si::gprof-start e si::gprof-quit para detalhes. Como esta " +"compilação é mais lenta que as compilações sem suporte a gprof, não é " +"recomendada para utilização de produção final. Você pode sobrepor localmente " +"a escolha predefinida feita aqui ao definir a variável de ambiente GCL_PROF " +"para qualquer string não vazia para suporte a perfis, e para uma string " +"vazia para as compilações mais otimizadas, ex. GCL_PROF=t gcl27. Se os " +"perfis estiverem activos, isso será reportado no banner inicial de arranque." + +#~ msgid "" +#~ "GCL is in the process of providing an ANSI compliant image in addition to " +#~ "its traditional CLtL1 image still in production use." +#~ msgstr "" +#~ "GCL está no processo de disponibilizar uma imagem compatível com ANSI " +#~ "como adição à sua imagem tradicional CLtL1 ainda em utilização de " +#~ "produção." + +#~ msgid "" +#~ "Please see the README.Debian file for a brief description of these terms. " +#~ "Choosing this option will determine which image will be used by default " +#~ "when executing 'gcl@EXT@'." +#~ msgstr "" +#~ "Por favor veja o ficheiro README.Debian para uma breve descrição destes " +#~ "termos. Escolher esta opção irá determinar qual imagem será usada por " +#~ "prédefinição ao executar 'gcl@EXT@'." + +#~ msgid "" +#~ "This setting may be overridden by setting the GCL_ANSI environment " +#~ "variable to any non-empty string for the ANSI build, and to the empty " +#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently " +#~ "enforced build flavor will be reported in the initial startup banner." +#~ msgstr "" +#~ "Esta opção pode ser sobreposta ao regular a variável de ambiente GCL_ANSI " +#~ "para qualquer string não-vazia para a compilação ANSI, e para uma string " +#~ "vazia para a compilação CLtL1, como por exemplo GCL_ANSI=t gcl@EXT@. O " +#~ "tipo de compilação actualmente imposto será reportado no banner inicial " +#~ "de arranque." + +#~ msgid "GCL has optional support for profiling via gprof." +#~ msgstr "O GCL tem suporte opcional para 'profiling' via gprof." + +#~ msgid "" +#~ "Please see the documentation for si::gprof-start and si::gprof-quit for " +#~ "details. As this build is slower than builds without gprof support, it is " +#~ "not recommended for final production use." +#~ msgstr "" +#~ "Por favor veja a documentação de si::gprof-start e si::gprof-quit para " +#~ "mais detalhes. Como esta compilação é mais lenta do que as compilações " +#~ "sem o suporte para gprof, não é recomendada para utilização de produção " +#~ "final." + +#~ msgid "" +#~ "Set the GCL_PROF environment variable to the empty string for more " +#~ "optimized builds, or any non-empty string for profiling support; e.g. " +#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in " +#~ "the initial startup banner." +#~ msgstr "" +#~ "Regule a variável de ambiente GCL_PROF para uma string vazia para mais " +#~ "compilações optimizadas, ou para qualquer string não-vazia para suporte " +#~ "de 'profiling'; como por exemplo GCL_PROF=t gcl@EXT@. Se o 'profiling' " +#~ "estiver activo, isto será reportado no banner inicial de arranque." diff --git a/po/pt_BR.po b/po/pt_BR.po new file mode 100644 index 0000000..57caf15 --- /dev/null +++ b/po/pt_BR.po @@ -0,0 +1,109 @@ +# Debconf translations for gcl. +# Copyright (C) 2016 THE gcl'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gcl package. +# Adriano Rafael Gomes , 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: gcl\n" +"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n" +"POT-Creation-Date: 2025-06-01 09:56-0400\n" +"PO-Revision-Date: 2016-01-05 11:09-0200\n" +"Last-Translator: Adriano Rafael Gomes \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "Use the work-in-progress ANSI build by default?" +msgstr "Usar a versão ANSI em desenvolvimento por padrão?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "" +"GCL is in the process of providing an ANSI compliant image in addition to " +"its traditional CLtL1 image still in production use. Please see the README." +"Debian file for a brief description of these terms. Setting this variable " +"will determine which image you will use by default on executing 'gcl27'. " +"You can locally override this choice by setting the GCL_ANSI environment " +"variable to any string but \"no\" for the ANSI build, and to \"no\" for the " +"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will " +"be reported in the initial startup banner." +msgstr "" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "Use the profiling build by default?" +msgstr "Usar a versão de \"profiling\" por padrão?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "" +"GCL now has optional support for profiling via gprof. Please see the " +"documentation for si::gprof-start and si::gprof-quit for details. As this " +"build is slower than builds without gprof support, it is not recommended for " +"final production use. You can locally override the default choice made here " +"by setting the GCL_PROF environment variable to any non-empty string for " +"profiling support, and to the empty string for the more optimized builds, e." +"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the " +"initial startup banner." +msgstr "" + +#~ msgid "" +#~ "GCL is in the process of providing an ANSI compliant image in addition to " +#~ "its traditional CLtL1 image still in production use." +#~ msgstr "" +#~ "O GCL está em processo de fornecer uma imagem de acordo com o padrão ANSI " +#~ "em adição à sua imagem CLtL1 tradicional, ainda em uso em produção." + +#~ msgid "" +#~ "Please see the README.Debian file for a brief description of these terms. " +#~ "Choosing this option will determine which image will be used by default " +#~ "when executing 'gcl@EXT@'." +#~ msgstr "" +#~ "Por favor, veja o arquivo README.Debian para uma breve descrição desses " +#~ "termos. Escolher essa opção determinará qual imagem será usada por padrão " +#~ "ao executar \"gcl@EXT@\"." + +#~ msgid "" +#~ "This setting may be overridden by setting the GCL_ANSI environment " +#~ "variable to any non-empty string for the ANSI build, and to the empty " +#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently " +#~ "enforced build flavor will be reported in the initial startup banner." +#~ msgstr "" +#~ "Essa configuração pode ser sobreposta definindo a variável de ambiente " +#~ "GCL_ANSI para qualquer texto não vazio para a versão ANSI, e para um " +#~ "texto vazio para a versão CLtL1, por exemplo, GCL_ANSI=t gcl@EXT@. O " +#~ "sabor da versão atualmente definida será exibida na mensagem de " +#~ "inicialização." + +#~ msgid "GCL has optional support for profiling via gprof." +#~ msgstr "O GCL tem suporte opcional a \"profiling\" via gprof." + +#~ msgid "" +#~ "Please see the documentation for si::gprof-start and si::gprof-quit for " +#~ "details. As this build is slower than builds without gprof support, it is " +#~ "not recommended for final production use." +#~ msgstr "" +#~ "Por favor, veja a documentação para si::gprof-start e si::gprof-quit para " +#~ "detalhes. Como essa versão é mais lenta que versões sem suporte a gprof, " +#~ "ela não é recomendada para uso final em produção." + +#~ msgid "" +#~ "Set the GCL_PROF environment variable to the empty string for more " +#~ "optimized builds, or any non-empty string for profiling support; e.g. " +#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in " +#~ "the initial startup banner." +#~ msgstr "" +#~ "Defina a variável de ambiente GCL_PROF para um texto vazio para versões " +#~ "mais otimizadas, ou para qualquer texto não vazio para ter suporte a " +#~ "\"profiling\"; por exemplo, GCL_PROF=t gcl@EXT@. Se o \"profiling\" " +#~ "estiver habilitado, isso será exibido na mensagem de inicialização." diff --git a/po/ru.po b/po/ru.po new file mode 100644 index 0000000..6e8f75f --- /dev/null +++ b/po/ru.po @@ -0,0 +1,111 @@ +# translation of ru.po to Russian +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# Copyright (C) 2024 Camm Maguire +# This file is distributed under the same license as the PACKAGE package. +# +# Yuri Kozlov , 2008. +msgid "" +msgstr "" +"Project-Id-Version: 2.6.7-36\n" +"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n" +"POT-Creation-Date: 2025-06-01 09:56-0400\n" +"PO-Revision-Date: 2008-01-03 10:22+0300\n" +"Last-Translator: Yuri Kozlov \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "Use the work-in-progress ANSI build by default?" +msgstr "Использовать разрабатываемую ANSI сборку по умолчанию?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "" +"GCL is in the process of providing an ANSI compliant image in addition to " +"its traditional CLtL1 image still in production use. Please see the README." +"Debian file for a brief description of these terms. Setting this variable " +"will determine which image you will use by default on executing 'gcl27'. " +"You can locally override this choice by setting the GCL_ANSI environment " +"variable to any string but \"no\" for the ANSI build, and to \"no\" for the " +"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will " +"be reported in the initial startup banner." +msgstr "" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "Use the profiling build by default?" +msgstr "Использовать по умолчанию профилируемую сборку?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "" +"GCL now has optional support for profiling via gprof. Please see the " +"documentation for si::gprof-start and si::gprof-quit for details. As this " +"build is slower than builds without gprof support, it is not recommended for " +"final production use. You can locally override the default choice made here " +"by setting the GCL_PROF environment variable to any non-empty string for " +"profiling support, and to the empty string for the more optimized builds, e." +"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the " +"initial startup banner." +msgstr "" + +#~ msgid "" +#~ "GCL is in the process of providing an ANSI compliant image in addition to " +#~ "its traditional CLtL1 image still in production use." +#~ msgstr "" +#~ "Помимо обычного образа CLtL1, используемого в повсеместной работе, GCL " +#~ "имеет практически готовый образ, соответствующий ANSI." + +#~ msgid "" +#~ "Please see the README.Debian file for a brief description of these terms. " +#~ "Choosing this option will determine which image will be used by default " +#~ "when executing 'gcl@EXT@'." +#~ msgstr "" +#~ "Краткое описание приведено в файле README.Debian. Данным выбором " +#~ "определяется, какой из образов будет использован по умолчанию при " +#~ "выполнении 'gcl@EXT@'." + +#~ msgid "" +#~ "This setting may be overridden by setting the GCL_ANSI environment " +#~ "variable to any non-empty string for the ANSI build, and to the empty " +#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently " +#~ "enforced build flavor will be reported in the initial startup banner." +#~ msgstr "" +#~ "Эта настройка может быть переопределена установкой переменной окружения " +#~ "GCL_ANSI в непустое значение для ANSI сборки, а пустым значением " +#~ "выбирается CLtL1 сборка, например GCL_ANSI=t gcl@EXT@. Текущий " +#~ "используемый тип сборки будет показан при первом запуске." + +#~ msgid "GCL has optional support for profiling via gprof." +#~ msgstr "GCL поддерживает необязательное профилирование через gprof." + +#~ msgid "" +#~ "Please see the documentation for si::gprof-start and si::gprof-quit for " +#~ "details. As this build is slower than builds without gprof support, it is " +#~ "not recommended for final production use." +#~ msgstr "" +#~ "Подробней об этом смотрите в документации на si::gprof-start и si::gprof-" +#~ "quit. Так как данная сборка работает медленнее чем без поддержки gprof, " +#~ "её не рекомендуется использовать в реальной работе." + +#~ msgid "" +#~ "Set the GCL_PROF environment variable to the empty string for more " +#~ "optimized builds, or any non-empty string for profiling support; e.g. " +#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in " +#~ "the initial startup banner." +#~ msgstr "" +#~ "Задание переменной окружения GCL_PROF пустого значения включает более " +#~ "оптимизированную сборку, а любое непустое -- поддержку профилирования; " +#~ "например GCL_PROF=t gcl@EXT@. Если профилирование включено, то об этом " +#~ "будет написано при первом запуске." diff --git a/po/sv.po b/po/sv.po new file mode 100644 index 0000000..e08465e --- /dev/null +++ b/po/sv.po @@ -0,0 +1,78 @@ +# Translation of gcl27 debconf template to Swedish +# Copyright (C) 2025 Martin Bagge +# This file is distributed under the same license as the XX package. +# +# Martin Ågren , 2008. +# Martin Bagge , 2025. +msgid "" +msgstr "" +"Project-Id-Version: gcl_2.6.7-36.1_sv\n" +"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n" +"POT-Creation-Date: 2025-10-06 13:08-0400\n" +"PO-Revision-Date: 2025-12-12 13:47+0100\n" +"Last-Translator: Martin Bagge \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: emacs\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "Use the work-in-progress ANSI build by default?" +msgstr "Använd det ännu inte färdiga ANSI-bygget som standard?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "" +"GCL is in the process of providing an ANSI compliant image in addition to " +"its traditional CLtL1 image still in production use. Please see the " +"README.Debian file for a brief description of these terms. Setting this " +"variable will determine which image you will use by default on executing " +"'gcl27'. You can locally override this choice by setting the GCL_ANSI " +"environment variable to any string but \"no\" for the ANSI build, and to " +"\"no\" for the CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build " +"in force will be reported in the initial startup banner." +msgstr "" +"GCL arbetar på att tillhandahålla en ANSI-kompatibel avbildning utöver den " +"traditionella CLtL1-avbildningen som alltjämt används i produktionsmiljö. " +"Läs filen README.Debian för en kort beskrivning av dessa termer. Genom detta " +"val bestäms vilken avbildning som används som standard när 'gcl27' " +"exekveras. Du kan fortfarande göra lokala undantag från detta val genom att " +"sätta miljövariabeln GCL_ANSI till en annan sträng än \"no\" för att få ANSI-" +"avbildningen eller ange \"no\" för att få CLtL1-avbildningen. Alltså " +"GCL_ANSI=t gcl27. Vilken avbildning som används uppges i utskriften vid " +"uppstarten." + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "Use the profiling build by default?" +msgstr "Ska profilering användas som standard?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "" +"GCL now has optional support for profiling via gprof. Please see the " +"documentation for si::gprof-start and si::gprof-quit for details. As this " +"build is slower than builds without gprof support, it is not recommended for " +"final production use. You can locally override the default choice made here " +"by setting the GCL_PROF environment variable to any non-empty string for " +"profiling support, and to the empty string for the more optimized builds, " +"e.g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in " +"the initial startup banner." +msgstr "" +"GCL har numera möjlighet att utföra profilering med hjälp av gprof. Läs mer " +"i dokumentationen om si::gprof-start och si::gprof-quit för närmare " +"information. Eftersom denna typ av bygge är långsammare än utan stöd för " +"gprof är rekommendationen att inte använda det för i produktionsmiljön. Du " +"kan göra lokala undantag från standardvalet här genom att sätta " +"miljövariablen GCL_PROF till en sträng som inte är tom för att få " +"profilering aktiverat. Eller till tom sträng för ett mer optimerat bygge. " +"Exempelvis GCL_PROF=t gcl27. Om profilering är aktiverat kommer detta att " +"framgå i meddelandet vid start." diff --git a/po/templates.pot b/po/templates.pot new file mode 100644 index 0000000..f9e6e6f --- /dev/null +++ b/po/templates.pot @@ -0,0 +1,58 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gcl27 package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: gcl27\n" +"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n" +"POT-Creation-Date: 2025-10-06 13:08-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "Use the work-in-progress ANSI build by default?" +msgstr "" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "" +"GCL is in the process of providing an ANSI compliant image in addition to " +"its traditional CLtL1 image still in production use. Please see the " +"README.Debian file for a brief description of these terms. Setting this " +"variable will determine which image you will use by default on executing " +"'gcl27'. You can locally override this choice by setting the GCL_ANSI " +"environment variable to any string but \"no\" for the ANSI build, and to " +"\"no\" for the CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build " +"in force will be reported in the initial startup banner." +msgstr "" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "Use the profiling build by default?" +msgstr "" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "" +"GCL now has optional support for profiling via gprof. Please see the " +"documentation for si::gprof-start and si::gprof-quit for details. As this " +"build is slower than builds without gprof support, it is not recommended for " +"final production use. You can locally override the default choice made here " +"by setting the GCL_PROF environment variable to any non-empty string for " +"profiling support, and to the empty string for the more optimized builds, " +"e.g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in " +"the initial startup banner." +msgstr "" diff --git a/po/vi.po b/po/vi.po new file mode 100644 index 0000000..067273e --- /dev/null +++ b/po/vi.po @@ -0,0 +1,111 @@ +# Vietnamese translation for GCL. +# Copyright © 2007 Free Software Foundation, Inc. +# Copyright © 2024 Camm Maguire +# Clytie Siddall , 2007 +# +msgid "" +msgstr "" +"Project-Id-Version: gcl 2.6.7-36\n" +"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n" +"POT-Creation-Date: 2025-06-01 09:56-0400\n" +"PO-Revision-Date: 2008-01-04 16:27+1030\n" +"Last-Translator: Clytie Siddall \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: LocFactoryEditor 1.7b1\n" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "Use the work-in-progress ANSI build by default?" +msgstr "Dùng bản xây dựng đang phát triển ANSI theo mặc định không?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:1001 +msgid "" +"GCL is in the process of providing an ANSI compliant image in addition to " +"its traditional CLtL1 image still in production use. Please see the README." +"Debian file for a brief description of these terms. Setting this variable " +"will determine which image you will use by default on executing 'gcl27'. " +"You can locally override this choice by setting the GCL_ANSI environment " +"variable to any string but \"no\" for the ANSI build, and to \"no\" for the " +"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will " +"be reported in the initial startup banner." +msgstr "" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "Use the profiling build by default?" +msgstr "Dùng bản xây dựng đo hiệu năng sử dụng theo mặc định không?" + +#. Type: boolean +#. Description +#: ../gcl27.templates:2001 +msgid "" +"GCL now has optional support for profiling via gprof. Please see the " +"documentation for si::gprof-start and si::gprof-quit for details. As this " +"build is slower than builds without gprof support, it is not recommended for " +"final production use. You can locally override the default choice made here " +"by setting the GCL_PROF environment variable to any non-empty string for " +"profiling support, and to the empty string for the more optimized builds, e." +"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the " +"initial startup banner." +msgstr "" + +#~ msgid "" +#~ "GCL is in the process of providing an ANSI compliant image in addition to " +#~ "its traditional CLtL1 image still in production use." +#~ msgstr "" +#~ "GCL đang phát triển chức năng cung cấp ảnh tùy theo ANSI thêm vào ảnh " +#~ "CLtL1 truyền thống vẫn còn được sử dụng trong trường hợp sản xuất." + +#~ msgid "" +#~ "Please see the README.Debian file for a brief description of these terms. " +#~ "Choosing this option will determine which image will be used by default " +#~ "when executing 'gcl@EXT@'." +#~ msgstr "" +#~ "Xem tài liệu Đọc Đi (README.Debian) để tìm mô tả ngắn về các thuật ngữ " +#~ "này. Bật tùy chọn này thì xác định ảnh nào cần dùng theo mặc định khi " +#~ "thực hiện lệnh « gcl@EXT@ »." + +#~ msgid "" +#~ "This setting may be overridden by setting the GCL_ANSI environment " +#~ "variable to any non-empty string for the ANSI build, and to the empty " +#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently " +#~ "enforced build flavor will be reported in the initial startup banner." +#~ msgstr "" +#~ "Vẫn còn có thể ghi đè lên thiết lập này bằng cách đặt biến môi trường " +#~ "« GCL_ANSI » thành bắt cứ chuỗi không rỗng cho bản xây dựng ANSI, và cho " +#~ "chuỗi rỗng cho bản xây dựng CLtL1, v.d. « GCL_ANSI=t gcl@EXT@ ». Kiểu bản " +#~ "xây dựng hiện thời được chọn sẽ được thông báo trên băng cờ khởi chạy đầu " +#~ "tiên." + +#~ msgid "GCL has optional support for profiling via gprof." +#~ msgstr "GCL có hỗ trợ tùy chọn để đo hiệu năng sử dụng thông qua gprof." + +#~ msgid "" +#~ "Please see the documentation for si::gprof-start and si::gprof-quit for " +#~ "details. As this build is slower than builds without gprof support, it is " +#~ "not recommended for final production use." +#~ msgstr "" +#~ "Xem tài liệu hướng dẫn về « si::gprof-start » và « si::gprof-quit » để " +#~ "tìm chi tiết. Vì bản xây dựng này chạy chậm hơn các bản xây dựng không hỗ " +#~ "trợ gprof, không khuyên bạn sử dụng nó trong trường hợp sản xuất cuối " +#~ "cùng." + +#~ msgid "" +#~ "Set the GCL_PROF environment variable to the empty string for more " +#~ "optimized builds, or any non-empty string for profiling support; e.g. " +#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in " +#~ "the initial startup banner." +#~ msgstr "" +#~ "Đặt biến môi trường « GCL_PROF » thành chuỗi rỗng cho các bản xây dựng " +#~ "tối ưu hơn, hoặc cho bất cứ chuỗi không rỗng nào để hỗ trợ chức năng đo " +#~ "hiệu năng sử dụng, v.d. « GCL_PROF=t gcl@EXT@ ». Hiệu lực chức năng đo " +#~ "hiệu năng sử dụng thì nó được thông báo trên băng cờ khởi chạy đầu tiên." diff --git a/rules b/rules new file mode 100755 index 0000000..ffe6181 --- /dev/null +++ b/rules @@ -0,0 +1,201 @@ +#!/usr/bin/make -f +# Sample debian/rules that uses debhelper. +# GNU copyright 1997 by Joey Hess. +# GNU copyright 2024 Camm Maguire +# +# This version is for a hypothetical package that builds an +# architecture-dependant package, as well as an architecture-independent +# package. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +#export GCL_MEM_MULTIPLE=0.1 + +# This has to be exported to make some magic below work. +export DH_OPTIONS + +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) +NUMJOBS=$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) +endif +ifneq (,$(NUMJOBS)) +MAKEFLAGS+=-j $(NUMJOBS) -O +GCL_MULTIPROCESS_MEMORY_POOL?=$(shell pwd) +export GCL_MULTIPROCESS_MEMORY_POOL +endif + +# This is the debhelper compatability version to use. +ARCHT:=$(shell dpkg-architecture -qDEB_HOST_ARCH) + +MCC?=gcc +# ifeq ($(ARCHT),alpha) +# MCC:=gcc-4.6 +# endif + +CFLAGS_APPEND?= +#ifeq ($(ARCHT),ppc64) +#CFLAGS_APPEND:=$(CFLAGS_APPEND) -O1 +#endif + +DEBUG?= +#ifeq ($(ARCHT),hppa) +#DEBUG=--enable-debug +#endif + +VERS=$(shell echo $$(cat majvers).$$(cat minvers)) +EXT=$(shell echo $(VERS) | sed 's,\([0-9]\)\.\([0-9]\)\..*,\1\2,') + +debian/elpa-gcl$(EXT).elpa: debian/gcl$(EXT)-pkg.el + find elisp -name "*.el" >$@ +# echo debian/gcl$(EXT).el >> debian/elpa-gcl$(EXT).elpa + echo debian/gcl$(EXT)-pkg.el >> debian/elpa-gcl$(EXT).elpa + echo debian/debian-autoloads.el >> debian/elpa-gcl$(EXT).elpa + +VR:=$(shell awk '{if (i) next;i=1;a=$$2;gsub("[()]","",a);split(a,A,"-");print A[1];}' debian/changelog) + +debian/gcl$(EXT)-pkg.el: debian/gcl-pkg.el.in + cat $< | sed "s,@VR@,$$(echo $(VR) | sed 's,[a-zA-Z]*,,g'),g" | sed "s,@EXT@,$(EXT),g" > $@ + + +configure-stamp: + + dh_testdir + + dh_autoreconf + + eval `dpkg-buildflags --export=sh` && \ + CC=$(MCC) CFLAGS="$$CFLAGS $(CFLAGS_APPEND)" ./configure \ + --host=$$(dpkg-architecture -qDEB_HOST_GNU_TYPE) \ + $(DEBUG) \ + --prefix=/usr + + touch $@ + +build-stamp: configure-stamp + dh_testdir + $(MAKE) $(MAKEFLAGS) + $(MAKE) $(MAKEFLAGS) check + touch $@ + +build: build-arch build-indep +build-arch: build-stamp +build-indep: #build-stamp + touch $@ + +DOC_STUBS=gcl$(EXT) gcl$(EXT)-si gcl$(EXT)-tk gcl$(EXT)-dwdoc +DOC_FILES=$(addsuffix .info,$(DOC_STUBS)) +DOC_FILES+=$(addsuffix .dvi,$(DOC_STUBS)) +DOC_FILES+=$(addsuffix .pdf,$(DOC_STUBS)) +DOC_FILES+=$(addsuffix .html,$(DOC_STUBS)) +DOC_FFILES=$(addprefix info/,$(DOC_FILES)) +EXT_TARGS=$(DOC_FFILES) man/man1/gcl$(EXT).1 bin/gcl$(EXT) + +install-stamp: build-stamp + dh_testdir + dh_testroot + dh_prep + $(MAKE) $(MAKEFLAGS) install-all DESTDIR=$$(pwd)/debian/tmp + $(MAKE) $(MAKEFLAGS) $(EXT_TARGS) + for i in $(EXT_TARGS); do \ + for j in $$i*; do \ + if [ -d $$j ] ; then l=d ; r=-r ; else l=f ; fi ; \ + k=$$(find debian/tmp -type $$l -name $$(echo $$(basename $$j) | sed 's,$(EXT),,g')); \ + [ "$$k" = "" ] || cp $$r $$j $$(dirname $$k) ; \ + echo $$i $$j $$k; \ + [ "$$k" = "" ] || chmod $$(dirname $$k)/$$(basename $$j) --reference=$$k ; \ + [ "$$k" = "" ] || rm $$r $$k ; \ + done ; \ + done + mv debian/tmp/usr/share/doc/gcl debian/tmp/usr/share/doc/gcl$(EXT) + touch $@ + +INS:=$(shell for i in `find debian -name "in.*"` ; do \ + echo $$i | sed 's,in.,,1' ; \ + done |\ + sed "s,\([^x]gcl\),\1$(EXT),g") + +gcl$(EXT)% : in.gcl% + cat $< | sed -e 's,@EXT@,$(EXT),g' -e 's,@VERS@,$(VERS),g' >$@ + +debian/po/POTFILES.in: debian/po/in.POTFILES.in + cat $< | sed -e 's,@EXT@,$(EXT),g' -e 's,@VERS@,$(VERS),g' >$@ + +debian/control: debian/control_$(EXT) + cp $< $@ + +install: DH_OPTIONS:= +install: install-stamp debian/control $(INS) + dh_installdirs + dh_install + +clean: debian/control debian/gcl$(EXT).templates debian/po/POTFILES.in + dh_testdir + dh_testroot + debconf-updatepo + + ! [ -e Makefile ] || $(MAKE) $(MAKEFLAGS) distclean + + dh_autoreconf_clean + dh_clean + + for i in $(INS); do echo $^ | grep -q $$i || rm -rf $$i ; done + rm -rf debian/substvars debian.upstream + rm -rf *stamp build-indep + rm -f debian/elpa-gcl$(EXT).elpa debian/gcl$(EXT)-pkg.el + rm -rf $(EXT_TARGS) info/gcl$(EXT)*.info* gcl_pool + +debian-clean: debian/control debian/gcl$(EXT).templates debian/po/POTFILES.in + dh_testdir + dh_testroot + debconf-updatepo + + dh_clean + + for i in $(INS); do echo $^ | grep -q $$i || rm -rf $$i ; done + rm -rf debian/substvars debian.upstream + rm -rf *stamp build-indep + rm -f debian/elpa-gcl$(EXT).elpa debian/gcl$(EXT)-pkg.el + rm -rf $(EXT_TARGS) info/gcl$(EXT)*.info* gcl_pool + + + +# Build architecture-independent files here. +# Pass -i to all debhelper commands in this target to reduce clutter. +binary-indep: DH_OPTIONS:=-i +binary-indep: build install debian/elpa-gcl$(EXT).elpa + dh_testdir + dh_testroot + dh_elpa + dh_installdocs + dh_installinfo + dh_installchangelogs ChangeLog + dh_link + dh_compress + dh_fixperms + dh_installdeb + dh_gencontrol + dh_md5sums + dh_builddeb + +binary-arch: DH_OPTIONS=-a +binary-arch: build install #debian/substvars + dh_testdir + dh_testroot + dh_installdocs + dh_installdebconf + sed -i -e 's,@EXT@,$(EXT),g' debian/gcl$(EXT)/DEBIAN/templates + dh_installchangelogs ChangeLog + dh_strip -Xlibgcl -Xlibansi_gcl -Xlibgcl_gprof -Xlibansi_gcl_gprof + dh_lintian + dh_link + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps + dh_gencontrol -u"-Vgcc=$(MCC)" + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure +.PRECIOUS: configure-trad-stamp configure-ansi-stamp configure-gprof-stamp configure-ansi-gprof-stamp diff --git a/source/format b/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/source/include-binaries b/source/include-binaries new file mode 100644 index 0000000..091df7a --- /dev/null +++ b/source/include-binaries @@ -0,0 +1,4 @@ +info/gcl.pdf +info/gcl-si.pdf +info/gcl-tk.pdf +xgcl-2/dwdoc.pdf diff --git a/texi.awk b/texi.awk new file mode 100755 index 0000000..ccf9cdb --- /dev/null +++ b/texi.awk @@ -0,0 +1,27 @@ +#!/usr/bin/awk -f + +/^@defun/ { + a=split($0,A,"("); + b=split($0,B,")"); + if (a==b) + print ; + else { + i=1; + c=$0; + } + next; +} +{ + if (i) { + sub("^ *",""); + c=c " " $0; + a=split(c,A,"("); + b=split(c,B,")"); + if (a==b) { + print c; + c=""; + i=0; + } + } else + print; +} diff --git a/upstream/signing-key.asc b/upstream/signing-key.asc new file mode 100644 index 0000000..763a447 --- /dev/null +++ b/upstream/signing-key.asc @@ -0,0 +1,13 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mDMEY72GEhYJKwYBBAHaRw8BAQdA0hMaElCclwaCCulgX4m8rDdHFFQvYsZlh01C +P5LGsOG0JUNhbW0gTWFndWlyZSA8Y2FtbUBtYWd1aXJlZmFtaWx5Lm9yZz6IjwQT +FggAOBYhBGp0ZZ8fIxkel/m2XhrylJS+USuuBQJjvYYSAhsDBQsJCAcDBRUKCQgL +BRYCAwEAAh4BAheAAAoJEBrylJS+USuub7AA+MkuPTCpVNVEQCwBTeiG8o3haoss +t5527jQZtAO4+zoBAL0VaTA+KFzVgWHEDoAybH2TC0DMnf75glwTmWg+PgoNuDgE +Y72GEhIKKwYBBAGXVQEFAQEHQC+wtP2/fnklVYfh7sP7KpkzLgFyOCNSMFY5mKjB +XfI5AwEIB4h4BBgWCAAgFiEEanRlnx8jGR6X+bZeGvKUlL5RK64FAmO9hhICGwwA +CgkQGvKUlL5RK64vIgD+LaehRHfaNaJEe4H9lbq1ocu11YABw66a5XsKvU6gXi4A +/A1jbf1vLz7JrvZQLAPQ/n8+E9ePART7zAoiqDWIEXAO +=bH2+ +-----END PGP PUBLIC KEY BLOCK----- diff --git a/watch b/watch new file mode 100644 index 0000000..4e862f2 --- /dev/null +++ b/watch @@ -0,0 +1,2 @@ +version=4 +options=pasv,pgpsigurlmangle=s/$/.sig/ ftp://ftp.gnu.org/pub/gnu/gcl gcl-([0-9.]*).tar.gz debian uupdate